Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-36914

Consider proactively aborting sharded transactions when any participant aborts

    • Type: Icon: Task Task
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
    • Sharding

      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

            Assignee:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            matthew.saltz@mongodb.com Matthew Saltz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: