[SERVER-53932] Multikey write during recovery of prepared transaction could use commit timestamp < stable timestamp Created: 20/Jan/21  Updated: 29/Oct/23  Resolved: 25/Jan/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 4.9.0, 4.2.13, 4.4.5

Type: Bug Priority: Major - P3
Reporter: Lingzhi Deng Assignee: Lingzhi Deng
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
Related
related to SERVER-42251 Cannot timestamp multikey write durin... Closed
related to SERVER-49949 Reconstructing prepared transactions ... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.4, v4.2
Sprint: Repl 2021-01-25, Repl 2021-02-08
Participants:
Linked BF Score: 10

 Description   

SERVER-42251 added code of using the prepareTimestamp to timestamp the multi-key write when reconstructing prepared transactions. SERVER-49949 did a fix to use max(prepareTS, oldestTS). But WT doesn't allow writing with timestamp < stable timestamp. And in the case when both the prepareTS and the oldest are < the stable timestamp, e.g. after rollback, we could violate the WT rule. To fix this, I think we should use max(prepareTS, stableTS).



 Comments   
Comment by Githook User [ 22/Feb/21 ]

Author:

{'name': 'Lingzhi Deng', 'email': 'lingzhi.deng@mongodb.com', 'username': 'ldennis'}

Message: SERVER-53932: Round up multi-key write during recovery of prepared transactions to the stable timestamp

(cherry picked from commit 5d2efc040b405871099fbd2a8547212db3755e02)
Branch: v4.4
https://github.com/mongodb/mongo/commit/29c751e8e250d4368aa592717cf323a08947acad

Comment by Githook User [ 22/Feb/21 ]

Author:

{'name': 'Lingzhi Deng', 'email': 'lingzhi.deng@mongodb.com', 'username': 'ldennis'}

Message: SERVER-53932: Round up multi-key write during recovery of prepared transactions to the stable timestamp

(cherry picked from commit 5d2efc040b405871099fbd2a8547212db3755e02)
(cherry picked from commit 5821e5bc1e2e8c4ed3e791a60a104d57f104caf1)
(cherry picked from commit 4419a5c2a0d099b40b2155dd4def37802286cb7c)
Branch: v4.2
https://github.com/mongodb/mongo/commit/85a8c709a0baaffcd60fe3a0c04d5f7621a805a0

Comment by Githook User [ 25/Jan/21 ]

Author:

{'name': 'Lingzhi Deng', 'email': 'lingzhi.deng@mongodb.com', 'username': 'ldennis'}

Message: SERVER-53932: Round up multi-key write during recovery of prepared transactions to the stable timestamp
Branch: master
https://github.com/mongodb/mongo/commit/5d2efc040b405871099fbd2a8547212db3755e02

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