[SERVER-60919] Remove oplog based change stream pre-image storage Created: 22/Oct/21  Updated: 29/Oct/23  Resolved: 15/Sep/22

Status: Closed
Project: Core Server
Component/s: Change streams
Affects Version/s: None
Fix Version/s: 6.2.0-rc0

Type: Task Priority: Minor - P4
Reporter: Mindaugas Malinauskas Assignee: Mindaugas Malinauskas
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by COMPASS-6130 Investigate changes in SERVER-60919: ... Closed
is depended on by TOOLS-3197 Investigate changes in SERVER-60919: ... Closed
Gantt Dependency
Problem/Incident
causes SERVER-73746 Upgrade to v6.2 fails if a collection... Closed
Related
related to SERVER-74100 Streamline logical branches in opObse... Backlog
related to SERVER-70092 remove unused param from OpObserver::... Closed
related to SERVER-74351 condition in OpObserver::onDelete() a... Closed
is related to SERVER-73833 Automatically remove unsupported 'rec... Closed
Backwards Compatibility: Major Change
Sprint: QE 2022-09-19
Participants:
Linked BF Score: 7

 Description   

Remove oplog based change stream pre-image storage and the 'recordPreImages' option to the 'create' and 'collMod' commands. This capability is superseded by pre-image storage in the dedicated collection and 'changeStreamPreAndPostImages' option (PM-1944).



 Comments   
Comment by Tyler Kaye [ 29/Sep/22 ]

Oh, my apologies. I read that as a question in that you wanted to go confirm that this was the case. All good on my end then

Comment by Tyler Kaye [ 29/Sep/22 ]

Were you able to confirm this mindaugas.malinauskas@mongodb.com

Comment by Tyler Kaye [ 15/Sep/22 ]

Hi mindaugas.malinauskas@mongodb.com. I have confirmed that this will not be an issue as long as it is not possible to deploy a 6.2 cluster to Atlas with an FCV < 6.0 (since then we have no way of issuing the command). So want to double-confirm that and then we are all good

Comment by Mindaugas Malinauskas [ 15/Sep/22 ]

We expect that only Realm uses or used collection option "recordPreImages". However, I'm flagging this change for other teams to review.

Comment by Githook User [ 14/Sep/22 ]

Author:

{'name': 'Mindaugas Malinauskas', 'email': 'mindaugas.malinauskas@mongodb.com'}

Message: SERVER-60919 Remove oplog based change stream pre-image storage
Branch: master
https://github.com/mongodb/mongo/commit/aa15763f05f85402aebd6c1b5ed30ec3184cbb86

Comment by Tyler Kaye [ 11/Jul/22 ]

devika.pisharoty@mongodb.com, yes. That is why I was verifying that this will not be backported. So for old versions of MongoDB, we will still need to use recordPreImages for triggers involving the FullDocumentBeforeChange

Comment by Devika Pisharoty [ 11/Jul/22 ]

tyler.kaye@mongodb.com wont we need this as long as our customers are on older cluster versions? 

Comment by Tyler Kaye [ 11/Jul/22 ]

mindaugas.malinauskas@mongodb.com I just saw your email. Linking the two blocking tickets on the Realm side of things. One is in review and the other I can get started on in the next week so I assume that is fine. 

 

Also, I assume this is the case (but best to make sure) that this will not be backported to pre 6.0 releases (since we do need it there). 

 

cc devika.pisharoty@mongodb.com 

Comment by Bernard Gorman [ 05/Jul/22 ]

mindaugas.malinauskas@mongodb.com: we should also be able to get rid of this uassert and instead just rely on the tassert below it, since the only way that we can be missing a preImageId is if we're using the oplog mechanism and the oplog event had no preImageOpTime field.

Comment by Bernard Gorman [ 21/Jun/22 ]

denis.grebennicov@mongodb.com: remember to run this by Realm before going through with it!

Generated at Thu Feb 08 05:51:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.