-
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
- 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.
- 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.
- depends on
-
SERVER-130246 Enforce strict: false on IDL reply structs to prevent mixed-version breakage
-
- Needs Scheduling
-
- is related to
-
SERVER-130162 Require participant replication term in sharded transaction responses once 9.0 is last-LTS
-
- Backlog
-