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

Allow mongos to retry on stale version and snapshot errors within a transaction

    XMLWordPrintableJSON

Details

    • Sharding NYC
    • Sharding 2019-03-25
    • 33

    Description

      Because of the problem described in SERVER-39624, mongos's ability to retry transaction statements that fail on stale version and snapshot errors without aborting the overall sharded transaction was disabled in favor of returning a TransientTransactionError label, so the client retries the entire transaction with a higher transaction number.

      This behavior could be problematic for long running transactions in particular because a stale version error on a late statement would force the entire transaction to be retried, instead of just the failed statement. The purpose of this ticket is to come up with a safe way to allow mongos to retry on these errors within a transaction that addresses the problem from SERVER-39624.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-sharding-nyc Backlog - Sharding NYC
              jack.mulrow@mongodb.com Jack Mulrow
              Votes:
              3 Vote for this issue
              Watchers:
              33 Start watching this issue

              Dates

                Created:
                Updated: