Project

General

Profile

Fix #8035

OSD: must guarantee we are newer than Objecter reply send epochs

Added by Greg Farnum over 5 years ago. Updated 5 months ago.

Status:
New
Priority:
High
Assignee:
-
Category:
-
Target version:
-
Start date:
04/08/2014
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
OSD
Pull request ID:

Description

Because OSDs are now normal clients of each other in some circumstances, we've broken our map synchronization guarantees:
OSD1.objecter(10) -- osd_op_request() --> OSD2
OSD1.objecter(10) <-- osd_op_reply() -- OSD2 // note that the objecter doesn't need to get updated to take the reply
OSD1 <- payload -- objecter(10) // note that the OSD and Objecter don't share reply epochs

This is okay for most of the stuff we do (basic copy-get), but can cause problems when doing promotes that race against snap deletion in the map and such.

History

#1 Updated by Samuel Just over 5 years ago

  • Target version changed from 0.80rc to 0.80

#2 Updated by Samuel Just over 5 years ago

  • Target version changed from 0.80 to v0.81

#3 Updated by Samuel Just over 5 years ago

  • Target version changed from v0.81 to 0.82

#4 Updated by Samuel Just about 5 years ago

  • Target version changed from 0.82 to 0.83

#5 Updated by Samuel Just about 5 years ago

  • Target version deleted (0.83)

#6 Updated by Samuel Just almost 3 years ago

  • Priority changed from Urgent to High

#7 Updated by Patrick Donnelly 5 months ago

  • Project changed from Ceph to RADOS
  • Category deleted (OSD)
  • Component(RADOS) OSD added

Also available in: Atom PDF