Project

General

Profile

Fix #7395

OSD: update osdmap subscription proactively instead of when we want a new map

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

Status:
Resolved
Priority:
Normal
Assignee:
Category:
OSD
Target version:
-
Start date:
02/11/2014
Due date:
% Done:

0%

Source:
Support
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

In most circumstances, the OSD does a one-time subscription for the "next map" from what it has. But in a few places, it will blindly take a map epoch from an incoming message (which might have a very old map) and sends it off as a subscription request to the monitor. Then when it gets the reply (containing lots of old maps), it does not clear out the subscription request, because the OSD only applies new subscriptions, it doesn't get rid of old ones. And the MonClient does not clear out OSDMap subscriptions because it doesn't handle the replies.
Fix this by making the OSD clear out subscription requests once it gets replies. This will require some intelligence — we can get multiple reply messages for a single request and don't want to blank them out early if not appropriate.

History

#1 Updated by Greg Farnum over 5 years ago

  • Status changed from New to Testing

Waiting for the gitbuilders to build the branch so I can run it through thrashing.

#2 Updated by Greg Farnum over 5 years ago

  • Status changed from Testing to Need Review

#3 Updated by Sage Weil over 5 years ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF