[SERVER-62765] Include "tid" field in update oplog entries Created: 19/Jan/22  Updated: 29/Oct/23  Resolved: 02/Jun/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Janna Golden Assignee: Hugh Tong (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Server Serverless 2022-02-07, Server Serverless 2022-05-02, Server Serverless 2022-05-16, Server Serverless 2022-05-30, Server Serverless 2022-06-13
Participants:

 Description   

Similar to the insert path, the update path calls OpObserver::onUpdate() (here and here) in order to log an update op in the oplog.

Again similar to inserts, OpObserverImpl::onUpdate() constructs oplog entries differently depending on whether the op is part of a multi-document transaction or not. If it is part of a transaction, we construct the oplog entry by calling MutableOplogEntry::makeUpdateOperation. Add tenantId as a boost::optional parameter to MutableOplogEntry::makeUpdateOperation so that we can set the "tid" field on the ReplOperation constructed there if featureFlagRequireTenantId is set. If the op is not part of a transaction, we should set the "tid" field in replLogUpdate. We can again just grab the tenantId from the NamespaceString object on OplogUpdateEntryArgs.

Let's again add a test case to the OpObserverImplTest and check that OpObserverImpl::onUpdate() behaves as expected when called both in a multi-document transaction and not.



 Comments   
Comment by Githook User [ 02/Jun/22 ]

Author:

{'name': 'Hugh Tong', 'email': 'hugh.tong@mongodb.com', 'username': 'cortrain'}

Message: SERVER-62765 Write tenantId fields to oplog entries on update
Branch: master
https://github.com/mongodb/mongo/commit/c4b1a139650ff86de64dcc3fc0d23de89aa7bdf8

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