[SERVER-79048] move retryable findAndModify image logic out of OpObserverImpl Created: 18/Jul/23  Updated: 29/Oct/23  Resolved: 31/Jul/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:
Related
related to SERVER-79148 add OpObserver method for post transa... Closed
related to SERVER-79149 move side transaction boundaries in O... Closed
related to SERVER-79275 add OpStateAccumulator parameter to O... Closed
is related to SERVER-74100 Streamline logical branches in opObse... Backlog
is related to SERVER-74121 Streamline logical branches in opObse... Backlog
is related to SERVER-78310 move change stream pre-image logic ou... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution NAMR Team 2023-07-24, Execution NAMR Team 2023-08-07
Participants:

 Description   

Currently the logic for writing retryable findAndModify images to config.image_collection is embedded in the OpObserverImpl methods for writing the oplog entries (See update example). To support future work in streamlining the OpObserverImpl oplog generation logic (see SERVER-74100 and SERVER-74121), it would help to extract the findAndModify logic into a separate OpObserver implementation. We had recently completed a similar exercise for change streams pre-images in SERVER-78310.



 Comments   
Comment by Githook User [ 01/Aug/23 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-79048 move findAndModify image collection writes for prepared transactions from OpObserverImpl to FindAndModifyImagesOpObserver
Branch: minh.luu-no_compile_sys-perf
https://github.com/mongodb/mongo/commit/27ac18033606cafac1b0742ece4c3dcc64c653b3

Comment by Githook User [ 31/Jul/23 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-79048 move findAndModify image collection writes for prepared transactions from OpObserverImpl to FindAndModifyImagesOpObserver
Branch: master
https://github.com/mongodb/mongo/commit/27ac18033606cafac1b0742ece4c3dcc64c653b3

Comment by Githook User [ 30/Jul/23 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-79048 move findAndModify image collection writes for unprepared transactions from OpObserverImpl to FindAndModifyImagesOpObserver
Branch: master
https://github.com/mongodb/mongo/commit/ee82492d3a476e833107bedd3b228c835e35852c

Comment by Githook User [ 30/Jul/23 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-79048 move findAndModify image collection writes for deletes from OpObserverImpl to FindAndModifyImagesOpObserver
Branch: master
https://github.com/mongodb/mongo/commit/bc9c35a8bd529c448d6daa8b5da5123ef89e9875

Comment by Githook User [ 29/Jul/23 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-79048 move findAndModify image collection writes for updates from OpObserverImpl to FindAndModifyImagesOpObserver
Branch: master
https://github.com/mongodb/mongo/commit/f61254d4216ccb667cff06f8833b26640513946a

Comment by Githook User [ 27/Jul/23 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-79048 add stub FindAndModifyImagesOpObserver
Branch: master
https://github.com/mongodb/mongo/commit/ac9905490003c08f825a39d591001397376c2cf8

Generated at Thu Feb 08 06:39:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.