Skip to content

DRIVERS-3404 - Server selection deprioritization only for overload er…#1900

Merged
NoahStapp merged 4 commits intomongodb:masterfrom
NoahStapp:DRIVERS-3404
Feb 23, 2026
Merged

DRIVERS-3404 - Server selection deprioritization only for overload er…#1900
NoahStapp merged 4 commits intomongodb:masterfrom
NoahStapp:DRIVERS-3404

Conversation

@NoahStapp
Copy link
Contributor

@NoahStapp NoahStapp commented Feb 19, 2026

…rors on replica sets

Python implementation: mongodb/mongo-python-driver#2710.

Please complete the following before merging:

  • Is the relevant DRIVERS ticket in the PR title?
  • Update changelog.
  • Test changes in at least one language driver.
  • Test these changes against all server versions and topologies (including standalone, replica set, and sharded
    clusters).

DRIVERS-3404

@NoahStapp NoahStapp requested a review from a team as a code owner February 19, 2026 22:06
@NoahStapp NoahStapp requested review from ShaneHarvey, isabelatkinson and jyemin and removed request for a team February 19, 2026 22:06
@dariakp dariakp requested a review from tadjik1 February 19, 2026 23:18
@dariakp
Copy link
Contributor

dariakp commented Feb 19, 2026

(Tagging in @tadjik1 for second implementation)

@tadjik1
Copy link
Member

tadjik1 commented Feb 20, 2026

Node 2nd implementation: mongodb/node-mongodb-native#4875
(with the proposed suggestion: server 4.4+)

@NoahStapp NoahStapp requested a review from tadjik1 February 20, 2026 15:32
For all other topologies, the server address on which the operation failed MUST be provided to the server selection
mechanism as a member of the deprioritized server address list only if the error is labelled with
`SystemOverloadedError`. All other retryable errors MUST NOT cause the server address to be added to the deprioritized
server address list.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a brief rationale or Q&A section to explain this decision? IIUC it's so we don't change the behavior of retryable reads for non-overload errors because that might have unintended consequences for some operations (eg primaryPreferred reads).

@NoahStapp NoahStapp merged commit 9a101de into mongodb:master Feb 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants