Actions
Fix #3188
openosd: close read hole
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