Actions
Bug #506
closedobjecter: handle disconnects from osds
% Done:
0%
Source:
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
The kclient is smart about osd disconnect: if there are outstanding requests, it reopens the connection. Objecter does not appear to be:
void Objecter::ms_handle_reset(Connection *con) { if (con->get_peer_type() == CEPH_ENTITY_TYPE_OSD) maybe_request_map(); }
This is mitigated by the fact that we send a ping to any OSD with outstanding requests, but it does mean there is a built-in delay before we "notice" a disconnect.
While we're at it, double-check the locking is correct (is ms_handle_reset called by dispatcher, or manually invoked by the parent's ms_handle_reset method?).
Updated by Sage Weil over 13 years ago
- Status changed from New to Resolved
Actually, it wasn't handling osd reconnects at all. Doh.
Actions