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

    XMLWordPrintable

    Details

      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

              Assignee:
              backlog-server-sharding Backlog - Sharding Team
              Reporter:
              jack.mulrow Jack Mulrow
              Participants:
              Votes:
              1 Vote for this issue
              Watchers:
              15 Start watching this issue

                Dates

                Created:
                Updated: