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

Attach TransientTransactionError error label for network error codes in a transaction

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.1.11
    • None
    • Sharding
    • None
    • Fully Compatible
    • ALL
    • Sharding 2019-04-22

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: