Skip to content

fix(NODE-7469): overload retry when retryReads/Writes=false#4888

Merged
dariakp merged 7 commits intomainfrom
NODE-7469-retry-false
Mar 13, 2026
Merged

fix(NODE-7469): overload retry when retryReads/Writes=false#4888
dariakp merged 7 commits intomainfrom
NODE-7469-retry-false

Conversation

@nbbeeken
Copy link
Contributor

Description

Summary of Changes

https://jira.mongodb.org/browse/NODE-7469

Check that false retry settings are respected for overload errors

Notes for Reviewers

Spec sync and crossed fingers.

What is the motivation for this change?

retryability should still be disabled even when overload errors are returned

Double check the following

  • Lint is passing (npm run check:lint)
  • Self-review completed using the steps outlined here
  • PR title follows the correct format: type(NODE-xxxx)[!]: description
    • Example: feat(NODE-1234)!: rewriting everything in coffeescript
  • Changes are covered by tests
  • New TODOs have a related JIRA ticket

@nbbeeken nbbeeken force-pushed the NODE-7469-retry-false branch from 63c5cd2 to e516536 Compare March 10, 2026 20:46
@nbbeeken
Copy link
Contributor Author

@nbbeeken nbbeeken marked this pull request as ready for review March 10, 2026 21:53
@nbbeeken nbbeeken requested a review from a team as a code owner March 10, 2026 21:53
Copilot AI review requested due to automatic review settings March 10, 2026 21:53
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds/updates client backpressure unified spec tests to verify that overload retries respect retryReads=false / retryWrites=false, and adjusts the overload retry gating logic in the driver accordingly.

Changes:

  • Update backpressure spec test suites (loop + max-attempts) to ignore killCursors monitoring noise and add coverage for retryReads/retryWrites=false scenarios (including read vs write aggregate).
  • Regenerate corresponding JSON spec files from YAML updates.
  • Modify overload retry eligibility logic in executeOperationWithRetries to consider retry settings for SystemOverloadedError cases.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/spec/client-backpressure/backpressure-retry-max-attempts.yml Adds killCursors ignore and extends max-attempts coverage to include aggregate write case.
test/spec/client-backpressure/backpressure-retry-max-attempts.json Regenerated JSON for the updated max-attempts YAML spec.
test/spec/client-backpressure/backpressure-retry-loop.yml Adds clients with retryReads=false / retryWrites=false and many “does not retry” cases for overload errors.
test/spec/client-backpressure/backpressure-retry-loop.json Regenerated JSON for the updated retry-loop YAML spec.
test/integration/client-backpressure/client-backpressure.spec.test.ts Skips additional dropIndexes test case due to existing dropIndexes error-squashing behavior.
src/operations/execute_operation.ts Changes overload retry gating to respect retry settings (but currently introduces a functional regression; see comment).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@PavelSafronov PavelSafronov self-assigned this Mar 11, 2026
@PavelSafronov PavelSafronov added the Primary Review In Review with primary reviewer, not yet ready for team's eyes label Mar 11, 2026
@nbbeeken nbbeeken requested a review from PavelSafronov March 11, 2026 21:23
@nbbeeken nbbeeken added Team Review Needs review from team and removed Primary Review In Review with primary reviewer, not yet ready for team's eyes labels Mar 12, 2026
@dariakp dariakp changed the title test(NODE-7469): overload retry when retryReads/Writes=false fix(NODE-7469): overload retry when retryReads/Writes=false Mar 13, 2026
@dariakp dariakp merged commit 4157b26 into main Mar 13, 2026
28 of 30 checks passed
@dariakp dariakp deleted the NODE-7469-retry-false branch March 13, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Team Review Needs review from team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants