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

InterruptedDueToReplStateChange missing 'RetryableWriteError' error label

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Works as Designed
    • 4.4.6
    • None
    • None
    • None
    • ALL
    • Repl 2021-07-26

    Description

      When running an Atlas Failover Test on a M10 instance with the default connection string (retryWrites = true and writeconcern = majority) it is possible for the driver to receive the following error:

       

      {"code": 11602, "codeName": "InterruptedDueToReplStateChange", "errmsg": "operation was interrupted", 
      "errInfo": {"writeConcern": {"w": "majority", "wtimeout": 0, "provenance": "clientSupplied"}}}
       

      The missing error labels (specifically the 'RetryableWriteError') label means that according to the retryable writes specification the error is not retryable:

      For server versions 4.4 and newer, the server will add a RetryableWriteError label to errors or server responses that it considers retryable before returning them to the driver. As new server versions are released, the errors that are labeled with the RetryableWriteError label may change. Drivers MUST NOT add a RetryableWriteError label to any error derived from a 4.4+ server response (i.e. any error that is not a network error).

      Steps to reproduce

      Continually run updateOne operations in a loop and run a failover test in Atlas.

      It is a race condition, so having minimal network latency (a nearer data center) helps increase the chance of the race.

      Attachments

        Issue Links

          Activity

            People

              lingzhi.deng@mongodb.com Lingzhi Deng
              ross@mongodb.com Ross Lawley
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: