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

Attach TransientTransactionError error label for network error codes in a transaction

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.11
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2019-04-22

      If a shard returns a network error to mongos in the course of a transaction, mongos will abort the transaction and return that error to the client. Currently these errors do not generate a transient transaction error label, so the client won't retry the the transaction at a higher txnNumber, but it would be safe to do so for every statement prior to commitTransaction (its unclear if commit was successful on a network error, so the commit needs to be retried with the same txnNumber to avoid double applying the transaction). This is in line with how drivers already treat network errors from single replica set transactions as transient errors.

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

              Created:
              Updated:
              Resolved: