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

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

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: None
    • Labels:
      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

      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.

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

              Created:
              Updated: