-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
None
-
Component/s: None
-
None
Relevant changes were added to the commitTransaction section:
When commitTransaction is retried, either by the driver's internal retry-once logic or explicitly by the user calling commitTransaction again, drivers MUST apply w: majority to the write concern of the commitTransaction command. If the transaction is using a writeConcern that is not the server default (i.e. specified via TransactionOptions during the startTransaction call or otherwise inherited), any other write concern options (e.g. wtimeout) MUST be left as-is when applying w: majority. Finally, if the modified write concern does not include a wtimeout value, drivers MUST also apply wtimeout: 10000 to the write concern in order to avoid waiting forever (or until a socket timeout) if the majority write concern cannot be satisfied. See Majority write concern is used when retrying commitTransaction.
Note: The transaction spec tests have also been updated. Please ensure your driver is synced to https://github.com/mongodb/specifications/commit/ba1b071fa8b63454fb421bec824c454c92fc5e83 (or newer).
- depends on
-
CDRIVER-2936 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
CSHARP-2493 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
CXX-1719 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
GODRIVER-790 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
MOTOR-305 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
NODE-1848 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
PHPC-1319 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
PYTHON-1730 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
RUBY-1689 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
RUST-134 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
JAVA-3153 Drivers should use majority write concern when retrying commitTransaction
- Closed
-
RUBY-1654 Implement w:majority when retrying commitTransaction
- Closed
- is depended on by
-
DRIVERS-586 Support sharded transactions recovery token
- Development Complete