From: Yingxin Cheng Date: Mon, 26 Aug 2019 05:11:30 +0000 (+0800) Subject: crimson/net: reconnect if sent queue is not empty X-Git-Tag: v15.1.0~1675^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3fee504066a4b0696e8ec61c3dd107ee5683cd83;p=ceph.git crimson/net: reconnect if sent queue is not empty Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/net/ProtocolV2.cc b/src/crimson/net/ProtocolV2.cc index eef581ff5495..270be91132ed 100644 --- a/src/crimson/net/ProtocolV2.cc +++ b/src/crimson/net/ProtocolV2.cc @@ -410,7 +410,9 @@ void ProtocolV2::fault(bool backoff) if (conn.policy.lossy) { dispatch_reset(); close(); - } else if (conn.policy.server || (conn.policy.standby && !is_queued())) { + } else if (conn.policy.server || + (conn.policy.standby && + (!is_queued() && conn.sent.empty()))) { execute_standby(); } else if (backoff) { execute_wait(false); @@ -966,7 +968,9 @@ void ProtocolV2::execute_connecting() return; } - if (conn.policy.server || (conn.policy.standby && !is_queued())) { + if (conn.policy.server || + (conn.policy.standby && + (!is_queued() && conn.sent.empty()))) { execute_standby(); } else { execute_wait(false);