-
Type:
Spec Change
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Component/s: Backpressure
-
None
-
Needed
-
Summary
We are rolling out client backpressure support in two phases. The first phase has the following requirements:
- No token bucket, this version will include only exponential backoff and jitter for SystemOverloadedError **
- Introduce a new knob controlling the maximum number of retries, with a default of 2.
- Disable overload retargeting (deprioritized servers) by default. Add a knob to enable it.
Motivation
Who is the affected end user?
Rapid release customers in the upcoming 8.3 version
How does this affect the end user?
Gives users a pathway for improved experience with the IWM server feature.
How likely is it that this problem or use case will occur?
-
If the problem does occur, what are the consequences and how severe are they?
-
Is this issue urgent?
8.3 is planned to come out in May; drivers should be targeting Apr 17 or earlier for releases.
Is this ticket required by a downstream team?
-
Is this ticket only for tests?
No
Acceptance Criteria
Update the spec and add relevant testing for the following:
- Remove any language referencing the token bucket and the adaptiveRetries option.
- Introduce a new option controlling the maximum number of retries, with a default of 2.
- Disable overload retargeting (deprioritized servers) by default. Add an option to enable it.
- Update the backpressure code examples completed in
DRIVERS-3378- handled separately in DRIVERS-3438
- is related to
-
DRIVERS-3438 Provide updated code examples for non-backpressure drivers handling backpressure errors
-
- Implementing
-
- related to
-
DRIVERS-3378 Provide code examples for non-backpressure drivers handling backpressure errors
-
- Closed
-
-
DRIVERS-3344 Add support for server selection's deprioritized servers to all topologies
-
- Implementing
-
-
DRIVERS-3239 Exponential backoff and jitter in retry loops
-
- Implementing
-
- split to
-
CXX-3439 Finalize client backpressure implementation for phase 1 rollout
-
- Backlog
-
-
PHPLIB-1814 Finalize client backpressure implementation for phase 1 rollout
-
- Backlog
-
-
CDRIVER-6274 Finalize client backpressure implementation for phase 1 rollout
-
- In Code Review
-
-
CSHARP-5941 Finalize client backpressure implementation for phase 1 rollout
-
- In Progress
-
-
GODRIVER-3844 Finalize client backpressure implementation for phase 1 rollout
-
- In Progress
-
-
JAVA-6141 Finalize client backpressure implementation for phase 1 rollout
-
- In Progress
-
-
PYTHON-5767 Finalize client backpressure implementation for phase 1 rollout
-
- Closed
-
-
RUBY-3794 Finalize client backpressure implementation for phase 1 rollout
-
- Closed
-
-
RUST-2385 Finalize client backpressure implementation for phase 1 rollout
-
- Closed
-
-
NODE-7491 Finalize client backpressure implementation for phase 1 rollout
-
- Needs Review
-