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

      • Drivers should implement the prose tests updated in commit 1125200 (cfa9634 of the feature branch) 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

      •  
      Show
      Summary of necessary driver changes Drivers should implement the prose tests updated in commit 1125200 ( cfa9634 of the feature branch) 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 Works as Designed
      CXX-3424 Backlog
      CSHARP-5900 Done
      GODRIVER-3824 Backlog
      JAVA-6113 In Progress
      NODE-7457 Works as Designed
      PYTHON-5733 Works as Designed
      PHPLIB-1796 Works as Designed
      RUBY-3782 Works as Designed
      RUST-2368 Works as Designed
      $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 Works as Designed CXX-3424 Backlog CSHARP-5900 Done GODRIVER-3824 Backlog JAVA-6113 In Progress NODE-7457 Works as Designed PYTHON-5733 Works as Designed PHPLIB-1796 Works as Designed RUBY-3782 Works as Designed RUST-2368 Works as Designed

      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: