[SERVER-38715] A coordinator should cancel its cancel task on receiving the participant list Created: 19/Dec/18  Updated: 29/Oct/23  Resolved: 22/Feb/19

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.1.9

Type: Task Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: Kaloian Manassiev
Resolution: Fixed Votes: 0
Labels: ShardedTxn:DistributedCommit
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-38522 All the coordinator asynchronous task... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2018-12-31, Sharding 2019-01-14, Sharding 2019-01-28, Sharding 2019-02-11, Sharding 2019-02-25
Participants:

 Description   

Confusing, I know. When a coordinator is created, a task is scheduled at transactionLifetimeLimitSeconds (the time after which an unprepared transaction is allowed to be reaped) in the future to "cancel" the commit coordination (i.e., allow the coordinator to be destroyed so that it does not hang around in memory forever). The "cancel" is a no-op if the coordinator has already received the participant list by the time the task runs.

This ticket is to store a handle to the task inside the coordinator, so that the coordinator can cancel the "cancel" task on receiving the participant list.



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

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-38522/SERVER-38715 Make all TransactionCoordinator tasks interruptible
Branch: master
https://github.com/mongodb/mongo/commit/63220b7df242b26f83c7083394b463c4e4b3a5d8

Comment by Matthew Saltz (Inactive) [ 27/Dec/18 ]

I think we may get this for free if we use the work for general cancellation in SERVER-38522. If we add a "scheduleWorkAt" style function to that interface then it can handle cancelling the task uniformly when the coordinator is torn down. Also it isn't necessary to cancel the cancel task immediately if the cancel task uses the coordinator state to check if it should actually cancel commit.

Generated at Thu Feb 08 04:49:47 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.