-
Type: Bug
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: 4.4.0, 5.0.0, 6.0.0
-
Component/s: None
-
None
-
Replication
-
ALL
-
v5.0, v4.4
-
Repl 2024-01-22, Repl 2024-02-05, Repl 2024-02-19
On versions earlier than v7.0, there's the following anomaly on transactions with snapshot read concern. Consider the following scenario:
1. Insert two docs to coll1
2. Insert one doc to coll2
3. Start transaction with snapshot read concern and read from coll1. Expect to see 2 docs.
4. Outside the transaction, insert a third doc to coll1.
5. Outside the transaction, drop coll2.
6. Within the transaction, read coll2. Expect to see 1 doc. But it sees 0 (as if coll2 does not exist)
This is a violation of snapshot isolation because there never existed a snapshot where coll1 had 2 documents but coll2 didn't exist.
The same can happen exchanging 'drop' by 'rename'.
This does not reproduce on v7.0 and later thanks to PM-2218.
- related to
-
SERVER-84723 Sharded multi-document transactions can observe partial effects of concurrent DDL operations
- Closed
-
SERVER-88746 [v7.0] Writes in transactions in replica sets may not conflict with collection drop and rename, violating snapshot isolation
- Closed
-
SERVER-87024 Investigate gaps in transactions test coverage
- Closed
-
SERVER-87021 Ensure we have sufficient testing of transactions concurrent with catalog changes
- Backlog