Project

General

Profile

Bug #506

objecter: handle disconnects from osds

Added by Sage Weil almost 9 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
10/19/2010
Due date:
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

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?).

Associated revisions

Revision 7ba4c0ba
Added by Samuel Just about 4 years ago

Merge pull request #506 from ceph/wip-12068-master

Fixes #506
Reviewed-by: Samuel Just <>

History

#1 Updated by Sage Weil almost 9 years ago

  • Status changed from New to Resolved

Actually, it wasn't handling osd reconnects at all. Doh.

Fixed by 814f9dbdc57238d4e10c8e93fc298e9d3744516b

Also available in: Atom PDF