libceph: reset connection retry on successfully negotiation
We exponentially back off when we encounter connection errors. If several errors accumulate, we will eventually wait ages before even trying to reconnect. Fix this by resetting the backoff counter after a successful negotiation/ connection with the remote node. Fixes ceph issue #2802. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Alex Elder <elder@inktank.com>
This commit is contained in:
Родитель
5469155f2b
Коммит
85effe183d
|
@ -1629,6 +1629,8 @@ static int process_connect(struct ceph_connection *con)
|
|||
if (con->in_reply.flags & CEPH_MSG_CONNECT_LOSSY)
|
||||
set_bit(LOSSYTX, &con->flags);
|
||||
|
||||
con->delay = 0; /* reset backoff memory */
|
||||
|
||||
prepare_read_tag(con);
|
||||
break;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче