-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Change streams
-
None
-
DB Integration & Observability
-
Fully Compatible
-
QE 2026-10-26
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The `commitTransaction` command is defined in the IDL as strict, so older versions may not be able to understand the newly added `endOfTransactionScopes` field that the txn coordinator can send since SERVER-137904. In a mixed-version cluster (running 9.1/master for the transaction coordinator and 9.0 for a participant shard), it is possible that the receiving shard cannot parse the `commitTransaction` command request with the extra metadata sent by the coordinator. This situation is now auto-detected, and the coordinator now retries sending the command with the metadata stripped.
To avoid unnecessary retries on the hot commit path, a shard's eligibility is cached in a per-process cache. The cache records if a recipient shard is unable to parse the commit message. The cache entries are keyed by recipient shard id. The cache entries have a TTL of 5 minutes. This bounds the number of commit retries to 1 per ineligible shard per every 5 minutes.
- is related to
-
SERVER-137904 Make txn coordinator compute and send endOfTransaction metadata
-
- Needs Merge
-
- related to
-
SERVER-138295 Write endOfTransaction metadata into the oplog
-
- Needs Merge
-
-
SERVER-138711 Make test multiversion-safe
-
- Closed
-