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

The transaction spec says to unpin after MaxTimeMSExpired on commit but there's a test for the opposite behavior

    • Type: Icon: Spec Change Spec Change
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: Transactions
    • None
    • Needed

      The spec says:

      Additionally, drivers MUST unpin a ClientSession when any individual commitTransaction command attempt fails with an UnknownTransactionCommitResult error label. In cases where the UnknownTransactionCommitResult causes an automatic retry attempt, drivers MUST unpin the ClientSession before performing server selection for the retry.

      And MaxTimeMSExpired is defined as an UnknownTransactionCommitResult error. So a MaxTimeMSExpired error when running commitTransaction should unpin the session. However the "remain pinned after non-transient error on commit" test asserts the opposite behavior; that a session remains pinned after a MaxTimeMSExpired error on commit.

            Assignee:
            Unassigned Unassigned
            Reporter:
            shane.harvey@mongodb.com Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: