Clarify expected error if backoff exceeds CSOT's deadline in withTransaction

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Component/s: CSOT, Transactions
    • None
    • Needed
    • Hide

      Note: consider the changes on the recent https://jira.mongodb.org/browse/DRIVERS-3436, which supersede  some of the changes introduced by this ticket

      Summary of necessary driver changes

      • Clarify that when withTransaction retry backoff and jitter would exceed a client-side timeout—either the legacy withTransaction retry time limit or, if CSOT is in use, the CSOT deadline—drivers must raise a timeout error derived from the original error, wrapping that error as the cause, instead of rethrowing the raw error directly.

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

       

      Show
      Note: consider the changes on the recent https://jira.mongodb.org/browse/DRIVERS-3436 , which supersede  some of the changes introduced by this ticket Summary of necessary driver changes Clarify that when withTransaction retry backoff and jitter would exceed a client-side timeout—either the legacy withTransaction retry time limit or, if CSOT is in use, the CSOT deadline—drivers must raise a timeout error derived from the original error, wrapping that error as the cause, instead of rethrowing the raw error directly. Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed) https://github.com/mongodb/specifications/commit/e83452055d60b27bc943900504ba926bea57690e    
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6233 Blocked
      CXX-3414 Backlog
      CSHARP-5869 Done 3.8.0
      GODRIVER-3810 In Code Review
      JAVA-6093 In Code Review
      NODE-7430 In Code Review
      PYTHON-5716 Done
      PHPLIB-1783 Done
      RUBY-3770 Fixed 2.24.0
      RUST-2357 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 */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6233 Blocked CXX-3414 Backlog CSHARP-5869 Done 3.8.0 GODRIVER-3810 In Code Review JAVA-6093 In Code Review NODE-7430 In Code Review PYTHON-5716 Done PHPLIB-1783 Done RUBY-3770 Fixed 2.24.0 RUST-2357 Backlog

      Summary

      The transaction's convenient API spec currently says that, when applying exponential backoff between retries, if the delay would exceed CSOT's deadline, drivers are to raise the previously encountered error. Instead, drivers should raise a timeout error because CSOT has expired.

      Motivation

      Who is the affected end user?

      N/A

      How does this affect the end user?

      N/A

      How likely is it that this problem or use case will occur?

      N/A

      If the problem does occur, what are the consequences and how severe are they?

      N/A

      Is this issue urgent?

      This is part of backpressure

      Is this ticket required by a downstream team?

      N/A

      Is this ticket only for tests?

      Does this ticket have any functional impact, or is it just test improvements?

      Acceptance Criteria

      • Clarify that if timeoutMS expires, a timeout error should be raised.

            Assignee:
            Nabil Hachicha
            Reporter:
            Bailey Pearson
            Daria Pardue Daria Pardue
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: