Provide updated code examples for non-backpressure drivers handling backpressure errors

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Component/s: Retryability
    • None
    • Needed - No Spec Changes
    • 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  Update code examples in this document to remove all references to token buckets: https://docs.google.com/document/d/1yI22A2OQQUp7UzndH5MPMwCg3rKwUFNCVhQmurj1HeU/edit?tab=t.0#heading=h.kdl3ocoaru0d. Examples must use only backoff + jitter in the same manner that the driver implementation does. The Python examples are already updated and can be used as a guideline. 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-6278 Done
      CXX-3454 Done
      CSHARP-5954 In Code Review
      GODRIVER-3849 Done 2.6.0
      JAVA-6156 Backlog
      NODE-7506 Done
      PYTHON-5770 Done 4.17.0
      PHPLIB-1821 Done
      RUBY-3798 Done
      RUST-2392 Done
      $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-6278 Done CXX-3454 Done CSHARP-5954 In Code Review GODRIVER-3849 Done 2.6.0 JAVA-6156 Backlog NODE-7506 Done PYTHON-5770 Done 4.17.0 PHPLIB-1821 Done RUBY-3798 Done RUST-2392 Done

      Summary

      What is the problem or use case, what are we trying to achieve?

      Supersedes DRIVERS-3378.

      When rate limiting is turned on in the server, users not using backpressure compliant drivers might see an increase in SystemOverloadedErrors when the server is overloaded. We plan to instruct users to upgrade ASAP to these drivers, but for any user who cannot, we plan to provide a set of code examples showing how they can add backoff + jitter for SystemOverloadedErrors to their application themselves. 

      Motivation

      Who is the affected end user?

      Who are the stakeholders?

      How does this affect the end user?

      Are they blocked? Are they annoyed? Are they confused?

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

      Main path? Edge case?

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

      Minor annoyance at a log message? Performance concern? Outage/unavailability? Failover can't complete?

      Is this issue urgent?

      Does this ticket have a required timeline? What is it?

      Is this ticket required by a downstream team?

      Needed by e.g. Atlas, Shell, Compass?

      Is this ticket only for tests?

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

      Acceptance Criteria

      What specific requirements must be met to consider the design phase complete?

      Driver teams must provide code examples using backoff + jitter to handle overload errors for non-backpressure enabled drivers.

            Assignee:
            Noah Stapp
            Reporter:
            Noah Stapp
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: