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

XMLWordPrintableJSON

    • Cluster Scalability
    • Sharding 2019-03-25
    • 33
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

              Assignee:
              [DO NOT USE] Backlog - Cluster Scalability
              Reporter:
              Jack Mulrow
              Votes:
              4 Vote for this issue
              Watchers:
              52 Start watching this issue

                Created:
                Updated: