[SERVER-64059] Tenant migration recipient can miss updating the config.transactions table for those donor transactions that are committed at a timestamp <= startApplyingDonorOpTime. Created: 28/Feb/22  Updated: 29/Oct/23  Resolved: 22/Mar/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.3.2, 6.0.0-rc0

Type: Bug Priority: Major - P3
Reporter: Suganthi Mani Assignee: Christopher Caplinger
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v5.3
Sprint: Server Serverless 2022-03-07, Server Serverless 2022-03-21, Server Serverless 2022-04-04
Participants:
Linked BF Score: 35

 Description   

Tenant oplog applier takes care of updating the session entry in the config.transactions table for those donor transactions that are committed after startApplyingDonorOpTime and this pre-oplog catchup step takes care of updating the session entry in the config.transactions table for those donor transactions that are committed before startFetchingDonorOpTime. But, misses updating the config.transactions table for those donor transactions that are committed in this range [startFetchingDonorOpTime, startApplyingDonorOpTime] where startFetchingDonorOpTime <= startApplyingDonorOpTime. This can lead to duplicate transaction commits.



 Comments   
Comment by Githook User [ 08/Apr/22 ]

Author:

{'name': 'Christopher Caplinger', 'email': 'christopher.caplinger@mongodb.com', 'username': 'UnicodeSnowman'}

Message: SERVER-64059: Fetch committed txn entries lte startApplyingDonorOpTime

(cherry picked from commit 3c6cae457889f39aee38555022ad62db76d0dd34)
Branch: v5.3
https://github.com/mongodb/mongo/commit/a4cf24004bf4a7b8a9f8b5c187e38f861b2bb8e5

Comment by Githook User [ 21/Mar/22 ]

Author:

{'name': 'Christopher Caplinger', 'email': 'christopher.caplinger@mongodb.com', 'username': 'UnicodeSnowman'}

Message: SERVER-64059: Fetch committed txn entries lte startApplyingDonorOpTime
Branch: master
https://github.com/mongodb/mongo/commit/3c6cae457889f39aee38555022ad62db76d0dd34

Comment by Suganthi Mani [ 01/Mar/22 ]

Proposed solution is makeĀ _fetchCommittedTransactionsBeforeStartOpTime() to fetch all the committed txn entries from config.transactions table with lastWriteOpTime.ts < = startApplyingDonorOpTime

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