-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Component/s: Server Selection
-
None
-
Not Needed
Summary
The spec changes introduced by DRIVERS-1571 are internally inconsistent:
- On one hand, the change in source/server-selection/server-selection.rst talks about a "list of deprioritized servers".
- On the other hand, the change in source/retryable-reads/retryable-reads.rst talks about a single deprioritized server: "the server on which the operation failed MUST be provided to the server selection mechanism as a deprioritized server". And the pseudocode always passes only the last (single) failed server to selectServer. The same is true of source/retryable-writes/retryable-writes.rst.
Let's clarify that the list (actually, a mathematical set) is intended to contain each mongos on which attempts of the current operation have failed, and reflect that in the relevant pseudocode. The number of attempts of an operation may easily be larger than two in drivers that implement CSOT.
- is caused by
-
DRIVERS-1571 Direct read/write retries to another mongos if possible
- Development Complete