Project

General

Profile

Actions

Fix #3188

open

osd: close read hole

Added by Sage Weil over 11 years ago. Updated over 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
OSD
Target version:
-
% Done:

0%

Source:
Tags:
CY2012
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

client and now-marked-down osd with old map may continue to read.

solution probably goes something like this:

  • if the primary does not hear from the replicas (via the heartbeats) in a heartbeat_grace period, it will stop servicing reads.
  • any new primary already contacts 'up' osds, but ignores down osds. modify this behavior to also probe 'down' osds to make sure they are down. if that is successful, go active immediately. if not, wait until the heartbeat_grace period has expired to be sure the old primary is no longer servicing reads.
  • as a refinement of the above, we go active only only delay writes until the timer expires; reads are of course safe as no data has changed.
Actions

Also available in: Atom PDF