Switch participant term transport from $replData.term to dedicated participantTerm field once 9.0 is last-LTS

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Context

      SERVER-128128 carries the participant replication term in $replData.term rather than a dedicated participantTerm reply field. This was necessary because adding a new top-level generic reply field and backporting it to older branches causes IDLUnknownField failures in mixed-version clusters — older mongos binaries use strict: true IDL reply structs, which reject unknown fields as hard errors.

      This ticket tracks switching to a dedicated participantTerm field once that blocker is resolved.

      Dependency chain

      1. SERVER-130246 must land in a major release (Vx.0.0). It cannot land in a minor or patch release (e.g. 8.3.20), because customers on an older patch (e.g. 8.3.19) upgrading directly to the next major version would bypass the backport — multiversion testing would then fail for that upgrade path.
      2. Once SERVER-130246 ships in Vx.0.0, all nodes in a supported cluster are guaranteed to tolerate unknown reply fields. This ticket can then land in the following major release (Vx+1.0.0), where multiversion testing pairs new binaries against Vx.0.0 (which already has the strict: false fix) and there is no risk of IDLUnknownField.

      Work

      See this commit for guidance. 

      Note on SERVER-130162

      SERVER-130162 (make observedTerm required once 9.0 is last-LTS) should also be revisited in light of this ticket — the IDL field name and required-enforcement timing may change.

            Assignee:
            Unassigned
            Reporter:
            Moustafa Maher
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: