Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-764

Change mongos pinning test to use a code other than MaxTimeoutMSExpired for unpinning

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      NODE-2341 Backlog
      JAVA-3513 Fixed 3.12.0
      PYTHON-2058 Duplicate
      PHPLIB-505 Blocked
      CXX-1882 Backlog
      MOTOR-466 Done
      CSHARP-2858 Fixed 2.10.1
      GODRIVER-1413 Gone away
      RUBY-2019 Fixed 2.12.0.rc0
      CDRIVER-3435 Backlog
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion NODE-2341 Backlog JAVA-3513 Fixed 3.12.0 PYTHON-2058 Duplicate PHPLIB-505 Blocked CXX-1882 Backlog MOTOR-466 Done CSHARP-2858 Fixed 2.10.1 GODRIVER-1413 Gone away RUBY-2019 Fixed 2.12.0.rc0 CDRIVER-3435 Backlog

    Description

      In https://jira.mongodb.org/browse/SPEC-1206, the treatment of MaxTimeMSExpired (code=50) changed to be an UnknownTransactionCommitResult (https://github.com/mongodb/specifications/blob/master/source/transactions/transactions.rst#unknowntransactioncommitresult):

      > The driver MUST add the "UnknownTransactionCommitResult" error label when commitTransaction fails with a server selection error, network error, retryable writes error,** MaxTimeMSExpired error,** or write concern failed / timeout.

      Existing unpinning requirements require to unpin upon an UnknownTransactionCommitResult (https://github.com/mongodb/specifications/blob/master/source/transactions/transactions.rst#when-to-unpin):

      > Additionally, drivers MUST unpin a ClientSession when any individual commitTransaction command attempt fails with an UnknownTransactionCommitResult error label.

      However, the pinning test in https://github.com/mongodb/specifications/blob/master/source/transactions/tests/pin-mongos.yml#L330 still uses MaxTimeMSExpired error code (50) and requires that the session is NOT unpinned. This test appears to contradict the current spec language requirements.

      Attachments

        Activity

          People

            Unassigned Unassigned
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: