-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Component/s: Retryability, Server Selection
-
None
-
Needed
-
Summary
The changes introduced in DRIVERS-3344 incorrectly deprioritize replica set servers on any retryable error instead of only on SystemOverloadedError. This conflicts with the server's technical design and introduces unwanted behavioral changes with read/write preferences such as primaryPreferred and secondaryPreferred.
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?
- Clarify that drivers MUST apply server deprioritization to replica set servers only on SystemOverloadedError errors, superseding DRIVERS-3344.
- Update tests to ensure that drivers correctly prioritize non-deprioritized servers across all topology types.
- has to be finished together with
-
DRIVERS-3344 Add support for server selection's deprioritized servers to all topologies
-
- Implementing
-
- is caused by
-
DRIVERS-3344 Add support for server selection's deprioritized servers to all topologies
-
- Implementing
-
- is related to
-
DRIVERS-3344 Add support for server selection's deprioritized servers to all topologies
-
- Implementing
-
- split to
-
CDRIVER-6245 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
CSHARP-5892 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
CXX-3421 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
GODRIVER-3822 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
JAVA-6105 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
NODE-7452 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
PHPLIB-1793 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
RUBY-3778 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
RUST-2365 Server selection deprioritization only for overload errors on replica sets
-
- Blocked
-
-
PYTHON-5731 Server selection deprioritization only for overload errors on replica sets
-
- In Code Review
-