-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Execution NAMR Team 2023-06-26, Execution NAMR Team 2023-07-10, Execution NAMR Team 2023-07-24
Currently the logic for writing pre-images for change streams is embedded in the OpObserverImpl implementions for updates/deletes. We also write pre-images as part of commiting unprepared multi-document transactions and preparing multi-document transaction. It would be nice to extract and separate this logic for accessing the pre-images collection in a separate OpObserver implementation or move the logic up to the caller as a post-OpObserver action.
Affected functions in OpObserverImpl include:
- writeChangeStreamPreImagesForTransaction()
- writeChangeStreamPreImagesForApplyOpsEntries()
- writeChangeStreamPreImageEntry
Because this work affects onUpdate and onDelete, this ticket has some overlap with SERVER-74100 and SERVER-74121.
- is related to
-
SERVER-74100 Streamline logical branches in opObserverImpl::onDelete
- Backlog
-
SERVER-74121 Streamline logical branches in opObserverImpl::onUpdate
- Backlog
- related to
-
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
-
SERVER-78733 TransactionParticipant generates applyOps entry information for unprepared transactions rather than delegating to OpObserverImpl
- Closed
-
SERVER-79048 move retryable findAndModify image logic out of OpObserverImpl
- Closed