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

Implement recovery token for retrying a commit command on a different mongos

    • Fully Compatible
    • Sharding 2018-12-17, Sharding 2018-12-31

      • the router returns the recovery token on the response to the first statement
      • the client can send the recovery token on any later statements, including 'commitTransaction' and 'abortTransaction', but the router will only make use of the recovery token in commitTransaction, and only if the router does not know about the transaction
      • to make use of the recovery token, the router sends 'recoverTransaction' to the shard identified by the token
      • a shard that receives 'recoverTransaction' returns NoSuchTransaction if the shard does not know about the transaction. otherwise, if the decision has been made, returns the decision; if the decision has not been made, decides to abort.

            randolph@mongodb.com Randolph Tan
            randolph@mongodb.com Randolph Tan
            0 Vote for this issue
            5 Start watching this issue