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

Allow shards to start new transactions at the active transaction number

    • Fully Compatible
    • Sharding 2018-08-27

      Some exceptions can be thrown by shards that trigger internal retries by the router, like stale config or snapshot too old. Because mongos is not allowed to change the transaction number, to allow internal retries participants must be modified to allow starting a new transaction at a transaction number they have already seen for a given session id. So upon receiving startTransaction=true with txnNumber N, the shard should abort any in-progress transactions with txnNumber <= N and begin a new transaction at N.

      This behavior should be disallowed if the shard is in the commit, prepare, or prepare after abort state (or any state that indicates the shard has been involved in a two phase commit).

            Assignee:
            jack.mulrow@mongodb.com Jack Mulrow
            Reporter:
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: