-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Execution NAMR Team 2023-07-10, Execution NAMR Team 2023-07-24
OpObserverImpl::onUnpreparedTransactionCommit() currently [generates the applyOps oplog entry information||https://github.com/mongodb/mongo/blob/f9a49ec48ad035ca2f6701f5f458aef57dd70438/src/mongo/db/op_observer/op_observer_impl.cpp#L1760] internally for writing the unprepared applyOps entries to the oplog and pass to the change streams pre-image helper. We also reserve the oplog slots within this function.
Doing both of these operations within the OpObserverImpl method makes it inconvenient for us to extract the change streams pre-image logic into a separate OpObserver implementation in SERVER-78310. We should consider generating the applyOps info at the callsite in TransactionParticipant and pass it into the OpObserver interface.
- is related to
-
SERVER-78310 move change stream pre-image logic out of OpObserverImpl
- Closed
-
SERVER-78400 improve OnDeleteOutputsTest handling for missing change streams image
- Closed
-
SERVER-78401 re-order change streams collection writes in OpObserverImpl methods
- Closed
-
SERVER-78675 TransactionParticipant generates applyOps entry information for prepared transactions rather than delegating to OpObserverImpl
- Closed