Bug #41565
mds: detect MDS<->MDS messages that are not versioned
% Done:
0%
Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Description
Inter-MDS messages are now versioned. We should add a check that confirms that no current or new messages sent between MDSs are not versioned. In [1], I've suggested that we do:
Because it's not easily determined if a message passed between MDSs is versioned, I suggest one more change where all MDS-MDS messages inherit from a new message class (like MOSDPeeringOp) which we can then trivially check in MDSRankDispatcher::ms_dispatch:
if (m->get_source().is_mds()) {
ceph_assert(dynamic_cast<MMDSOp*>(m.get()));
}
So any new or missing messages must (at least) inherit from that class before the MDS will even dispatch the message.
[1] https://github.com/ceph/ceph/pull/20160#pullrequestreview-268596680
Subtasks
Related issues
History
#1 Updated by Patrick Donnelly over 1 year ago
- Blocks Feature #41566: mds: support rolling upgrades added
#2 Updated by Jos Collin about 1 year ago
- Status changed from New to In Progress
#3 Updated by Jos Collin about 1 year ago
- Pull request ID set to 31726
#4 Updated by Jos Collin about 1 year ago
- Status changed from In Progress to Fix Under Review
#5 Updated by Patrick Donnelly 11 months ago
- Target version changed from v15.0.0 to v16.0.0
#6 Updated by Patrick Donnelly 7 months ago
- Status changed from Fix Under Review to Resolved