-
Type: Spec Change
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Component/s: Transactions
-
Needed
-
The tests added in SPEC-1125 highlight some confusion and easy misinterpretation of the write concern rules in the transactions spec. We should update the spec to make the rules more clear and concise. Adding an example might do the trick.
This is what is indented to be supported:
with session.start_transaction():
w_0_coll = db.get_collection("w_0_coll", writeConcern=WriteConcern(w=0))
# This is allowed, the write concern of the transaction is used instead of w=0.
w_0_coll.insert_one({}, session=session)
This is different from starting a transaction with an unacknowledged write concern which is not allowed (SPEC-1100):
# Errors with "transactions do not support unacknowledged write concern: WriteConcern(w=0)"
session.start_transaction(writeConcern=WriteConcern(w=0))
- split to
-
CDRIVER-5788 Clarify write concern rules in the transactions spec
- Backlog
-
CSHARP-5392 Clarify write concern rules in the transactions spec
- Backlog
-
CXX-3161 Clarify write concern rules in the transactions spec
- Backlog
-
GODRIVER-3410 Clarify write concern rules in the transactions spec
- Backlog
-
JAVA-5684 Clarify write concern rules in the transactions spec
- Backlog
-
NODE-6492 Clarify write concern rules in the transactions spec
- Backlog
-
PHPLIB-1580 Clarify write concern rules in the transactions spec
- Backlog
-
PYTHON-4938 Clarify write concern rules in the transactions spec
- Backlog
-
RUBY-3582 Clarify write concern rules in the transactions spec
- Backlog
-
RUST-2085 Clarify write concern rules in the transactions spec
- Backlog
-
MOTOR-1402 Clarify write concern rules in the transactions spec
- Closed