Project

General

Profile

Actions

Fix #11590

closed

MDSMonitor: handle MDSBeacon messages properly

Added by Greg Farnum almost 9 years ago. Updated over 8 years ago.

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

100%

Source:
Q/A
Tags:
Backport:
firefly, hammer
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

We discovered while investigating #11481 that the MDSMonitor simply does not handle MDSBeacon messages appropriately. It's supposed to send back an MMDSBeacon message in response to every one it receives, but in fact it only sends back responses to those that are ignored! (This is in preprocess_beacon)

The other paths generally stick the incoming MMDSBeacon inside of a C_Updated context that waits until a map commit has happened, but this context doesn't do anything useful with them. :(

This is made significantly worse because beacon messages have to go to the leader, and so are often forwarded. On an election, the peon will then forward the message to the leader again, and if the leader accepts it then we can do some horrible warps back in time. (That said, these outdated beacons ought to be rejected based on the seq and info.state_seq values, but it seems they aren't always, as in the referenced ticket.)


Related issues 2 (0 open2 closed)

Copied to Ceph - Backport #11979: MDSMonitor: handle MDSBeacon messages properlyResolvedKefu Chai05/12/2015Actions
Copied to Ceph - Backport #11980: MDSMonitor: handle MDSBeacon messages properlyResolvedNathan Cutler05/12/2015Actions
Actions

Also available in: Atom PDF