【ceph研发】BACKOFF
BACKOFF
通常,OSD会简单地将任何不能立即在内存中处理的请求进队,直到它可以处理的时间。这可能会产生问题,因为OSD会限制传入消息所消耗的RAM总量:如果达到消息数量或字节数量的任何一个阈值,新的消息将不会从网络套接字中读取,从而通过网络造成反压力。
然而,在某些情况下,OSD知道或预计PG或对象将在一段时间内不可用,并且不希望通过排队请求来消耗内存。在这些情况下,它可以向客户端发送一个MOSDBackoff消息。
当客户端收到一个块回退消息时,它现在负责对关于回退描述的hobject_ts的对象不发送任何请求。当客户端收到一个块回退消息时,它现在负责不对回退描述的hobject_ts发送任何请求。一个ack_block消息被立即发送回OSD,以确认收到回退。