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

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

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.1.7
    • None
    • Fully Compatible
    • Sharding 2018-12-17, Sharding 2018-12-31

    Description

      • 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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: