1. client try to connect to server
2. server side accept and enter STANDBY because of socket error
3. client reconnect
4. during replacing, server side failed to reply connect tag
5. client reconnect again
6. because we have existing connection which is in normal state but has
error socket, we will reply to WAIT tag
7. client waits
We need to handle error in step 4, so we can ensure not sending WAIT tag
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
if (existing->_reply_accept(CEPH_MSGR_TAG_RETRY_GLOBAL, connect, reply, authorizer_reply) < 0) {
// handle error
- existing->center->dispatch_event_external(existing->write_handler);
+ existing->fault();
}
_stop();