[SERVER-36914] Consider proactively aborting sharded transactions when any participant aborts Created: 28/Aug/18  Updated: 27/Oct/23  Resolved: 24/May/19

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

Type: Task Priority: Major - P3
Reporter: Matthew Saltz (Inactive) Assignee: [DO NOT USE] Backlog - Sharding Team
Resolution: Gone away Votes: 0
Labels: pm-564
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Sharding
Participants:

 Description   

Currently, transactions on TransactionParticipants across shards have independent expiration times based on when the transaction was started on the shard. This could mean that the transaction may expire and abort on one shard while we continue to do work on other shards for an extended period of time, not aborting until prepare is sent by the coordinator, when we should be able to abort the transaction by either:

  • Sending voteAbort immediately from the participant to the coordinator on timeout, or
  • Constructing a deadline on mongos when the transaction begins, and send it to each shard for the first operation on that shard in the transaction

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