Project

General

Profile

Actions

Fix #7395

closed

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

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

Status:
Resolved
Priority:
Normal
Assignee:
Category:
OSD
Target version:
-
% Done:

0%

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

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.

Actions #1

Updated by Greg Farnum about 10 years ago

  • Status changed from New to 7

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

Actions #2

Updated by Greg Farnum about 10 years ago

  • Status changed from 7 to Fix Under Review
Actions #3

Updated by Sage Weil about 10 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF