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

    XMLWordPrintableJSON

Details

    • Icon: Spec Change Spec Change
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • Transactions
    • None
    • Needed

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: