Project

General

Profile

Fix #8394

Monitor: allow specifying "begin" and "target" values on map subscriptions

Added by Greg Farnum about 5 years ago. Updated 6 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

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

Description

Right now, the monitor subscription mechanism lets you specify the map you want to start receiving updates as of. Unfortunately, this maps horribly onto the needs of the OSD's map subscription.

When the OSD discovers it is missing a map M needed for a particular message, it needs to go from its present map (C) up to the missing map. Right now, it sends an osdmap subscription to the monitor containing M. But if M > C+1, then when the OSD gets map M, it has to send another request for C+1, and only when it gets that message can it process the message (plus, it puts more load on the monitors).
This is all compounded by the fact that with the current interface, the OSD can't have much memory about what it's asked the monitors for (because when receiving a newer map it doesn't have, it has no idea if the previous request for M-1 is going to include M in the response or not). So if it's not getting maps from its peers, it needs to keep spewing the monitor with requests for maps that are likely to be overlapping. :(

History

#1 Updated by Patrick Donnelly 6 months ago

  • Project changed from Ceph to RADOS
  • Category deleted (Monitor)
  • Start date deleted (05/19/2014)
  • Component(RADOS) Monitor added

Also available in: Atom PDF