-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Storage Execution
Having WUOWs that perform multiple writes resulting in multiple oplog entries seem really convenient for the primary as you get atomicity. However when this is replicated it is no longer done atomically.
This can result in cases where the code works 99% of the time but result in difficult to diagnose BFs where some of the writes got rolled back.
It can also cause issues related to timestamping where a write can "inherit" a timestamp set by another write. Also resulting to difficult to diagnose BFs.
We do have cases where writing multiple oplog entries in a single WUOW is safe and perfectly fine but we should make them a special case where they explicitly enable this behavior.
By default it should not be allowed to write multiple oplog entries in a WUOW.
- is related to
-
SERVER-54902 Time-series collection creation commits the view definition and associated oplog entry at different times
- Closed
- related to
-
SERVER-64506 Unify replication back-end of TransactionParticipant and WUOW
- Backlog
-
SERVER-68860 add container type to hold replicated operations for TransactionParticipant
- Closed