Project

General

Profile

Bug #46218

Bug #41565: mds: detect MDS<->MDS messages that are not versioned

mds: Add inter MDS messages to the corpus and enforce versioning

Added by Jos Collin 3 months ago. Updated 3 months ago.

Status:
Triaged
Priority:
Normal
Assignee:
Category:
Code Hygiene
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature:

Description

Now that the current and the new inter-MDS messages are guaranteed to be of type MMDSOp. MMDSOp could be used to pass information between MDSs in the future too.

But MMDSOp doesn't enforce versioning. As an MDS of release n should be able to talk to at least an MDS of release n-2, it'd be important to have the inter MDS messages collected in corpus to make sure the decoders of "n" release are able to to read the messages emitted by "n-2" release. MMDSOp does not add any runtime/compile time error for "unversioned" inter MDS messages, it just guarantees same type. But if we add the MDS messages to corpus, we will be able to test the backward compatibility of the dencoder of them.

See the discussion: https://github.com/ceph/ceph/pull/31726#pullrequestreview-351937077.


Related issues

Blocks fs - Feature #41566: mds: support rolling upgrades In Progress

History

#1 Updated by Jos Collin 3 months ago

#2 Updated by Patrick Donnelly 3 months ago

  • Status changed from New to Triaged
  • Assignee set to Jos Collin
  • Target version set to v16.0.0

Also available in: Atom PDF