[SERVER-77484] migrate OperationContext decorations to OplogDeleteEntryArgs for delete operations Created: 25/May/23 Updated: 29/Oct/23 Resolved: 01/Jun/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Benety Goh | Assignee: | Benety Goh |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Sprint: | Execution Team 2023-05-29, Execution Team 2023-06-12 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
When we are replicating delete operations on a collection, we make a pair of calls to the OpObserver interface to notify listeners of the beginning (aboutToDelete) and end (onDelete) of the delete operation. OpObserver implementations sometimes (using FreeMonOpObserver as an example) have to stash some state in aboutToDelete()* that will be picked up in onDelete(). Typically this is accomplished by attaching the temporary state to the OperationContext as a decorator. This ticket explores an alternative to the OperationContext decorations by making the OplogDeleteEntryArgs a decorable type and having the OpObservers stash the temporary state in the OplogDeleteEntryArgs struct instead. |
| Comments |
| Comment by Githook User [ 01/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 01/Jun/23 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |