Project

General

Profile

Actions

Fix #8035

open

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

Added by Greg Farnum about 10 years ago. Updated about 5 years ago.

Status:
New
Priority:
High
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

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

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.

Actions #1

Updated by Samuel Just about 10 years ago

  • Target version changed from 0.80rc to 0.80
Actions #2

Updated by Samuel Just almost 10 years ago

  • Target version changed from 0.80 to v0.81
Actions #3

Updated by Samuel Just almost 10 years ago

  • Target version changed from v0.81 to 0.82
Actions #4

Updated by Samuel Just almost 10 years ago

  • Target version changed from 0.82 to 0.83
Actions #5

Updated by Samuel Just almost 10 years ago

  • Target version deleted (0.83)
Actions #6

Updated by Samuel Just over 7 years ago

  • Priority changed from Urgent to High
Actions #7

Updated by Patrick Donnelly about 5 years ago

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

Also available in: Atom PDF