[SERVER-60829] Tenant donor shouldn't use donorAbortMigration cancellation token when writing commit decision Created: 19/Oct/21  Updated: 29/Oct/23  Resolved: 31/May/22

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

Type: Bug Priority: Major - P3
Reporter: Jack Mulrow Assignee: Hugh Tong (Inactive)
Resolution: Fixed Votes: 0
Labels: ordered
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Problem/Incident
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v6.0
Sprint: Server Serverless 2022-03-21, Server Serverless 2022-04-04, Server Serverless 2022-04-18, Server Serverless 2022-05-02, Server Serverless 2022-05-16, Server Serverless 2022-05-30, Server Serverless 2022-06-13
Participants:
Linked BF Score: 175
Story Points: 3

 Description   

The donorAbortMigration command works by cancelling a cancellation source that is checked via token in a tenant migration donor's run() future chain. The donor incorrectly uses a token derived from that source when performing its write to enter the committed state and when waiting for that write to majority commit, so a well timed donorAbortMigration can trigger an exception after the commit decision is locally written, leading the donor to write an abort decision, which triggers an invariant in the op observer that processes the abort write, because the commit decision cannot be made twice.



 Comments   
Comment by Githook User [ 09/Nov/22 ]

Author:

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

Message: SERVER-60829 Disallow abort token to cause tenant migration abort after local commit
Branch: v6.0
https://github.com/mongodb/mongo/commit/1f9242481c9d3ff3a4854d33f6019a4ff96f0c10

Comment by Githook User [ 25/May/22 ]

Author:

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

Message: SERVER-60829 Disallow abort token to cause tenant migration abort after local commit
Branch: master
https://github.com/mongodb/mongo/commit/982ba2296ba7e5a9f53e8f36d14310f0f45b7b70

Comment by Githook User [ 17/May/22 ]

Author:

{'name': 'Sviatlana Zuiko', 'email': 'sviatlana.zuiko@mongodb.com', 'username': 'szuiko'}

Message: Revert "SERVER-60829 Disallow abort token to cause tenant migration abort after local commit"

This reverts commit 7f73a72b033af32c969f3316fec0fed2f2bbe528.
Branch: master
https://github.com/mongodb/mongo/commit/c9581b02e7b5e1ad4a7559a6405176d601f23166

Comment by Githook User [ 16/May/22 ]

Author:

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

Message: SERVER-60829 Disallow abort token to cause tenant migration abort after local commit
Branch: master
https://github.com/mongodb/mongo/commit/7f73a72b033af32c969f3316fec0fed2f2bbe528

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