Retry backoff jitter interval may include 1.0

XMLWordPrintableJSON

    • Type: Spec Change
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Component/s: Transactions
    • None
    • Not Needed
    • Hide

      Summary of necessary driver changes

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

      •  

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes Drivers should implement the prose tests updated in https://github.com/mongodb/specifications/commit/cfa963473d4131a23b23d9bb794e27c82a374cbc according to the best fit for their language.  Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed)   Context for other referenced/linked tickets  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6249 Needs Triage
      CXX-3424 Needs Triage
      CSHARP-5900 Needs Triage
      GODRIVER-3824 Needs Triage
      JAVA-6113 Needs Triage
      NODE-7457 Needs Triage
      PYTHON-5733 Needs Triage
      PHPLIB-1796 Needs Triage
      RUBY-3782 Needs Triage
      RUST-2368 Needs Triage
      $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-6249 Needs Triage CXX-3424 Needs Triage CSHARP-5900 Needs Triage GODRIVER-3824 Needs Triage JAVA-6113 Needs Triage NODE-7457 Needs Triage PYTHON-5733 Needs Triage PHPLIB-1796 Needs Triage RUBY-3782 Needs Triage RUST-2368 Needs Triage

      Summary

      In the ClientSession.withTransaction retry backoff algorithm, jitter is defined like so (code):

      jitter is a random float between [0, 1)

      The closing parenthesis implies this interval does not include 1. However, the prose test requires using jitter values of exactly 1 (code):

      Configure the random number generator used for jitter to always return 1.

      For the sake of correctness, jitter should be defined as a random float in the interval [0, 1]. Including 1 will almost certainly not matter in practice. Additionally, this is easier to implement and most drivers probably implement jitter like this already.

      Motivation

      Who is the affected end user?

      This is a correctness issue. End users are basically unaffected.

      How does this affect the end user?

      This has almost no effect on the end user.

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

      This is an extreme edge case that should not make any difference in practice.

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

      There are basically no consequences.

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      More or less. This makes the tests spec compliant. 

      Acceptance Criteria

      The ) is changed to a ].

            Assignee:
            Noah Stapp
            Reporter:
            Connor MacDonald
            Durran Jordan Durran Jordan (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: