Skip to content

test: fix flaky CSOT ITERATION cursor timeout tests#4987

Draft
tadjik1 wants to merge 1 commit into
mainfrom
fix/csot-iteration-cursor-timeout-margin
Draft

test: fix flaky CSOT ITERATION cursor timeout tests#4987
tadjik1 wants to merge 1 commit into
mainfrom
fix/csot-iteration-cursor-timeout-margin

Conversation

@tadjik1

@tadjik1 tadjik1 commented Jul 1, 2026

Copy link
Copy Markdown
Member

Description

Summary of Changes

Increases timeoutMS in four CSOT ITERATION-mode cursor tests that were intermittently failing on sharded+auth+TLS CI variants.

What is the motivation for this change?

Every ITERATION-mode "refreshes the timeout" test works by proving a counter-factual: if the timer were not reset between operations, the cumulative block time would exceed timeoutMS and the cursor would error.

This requires satisfying two constraints simultaneously:

blockTimeMS < timeoutMS          # each individual op must succeed
N × blockTimeMS > timeoutMS      # total without reset must exceed the budget

The previous values left only 50 ms of margin per operation (timeoutMS - blockTimeMS = 50 ms). On fast topologies that is enough; on sharded+auth+TLS every round-trip carries extra overhead (TLS re-use, mongos routing) that regularly pushes an operation past the 50 ms window, causing a flaky timeouts.

History: #4278 previously doubled both blockTimeMS and timeoutMS (50 to 150 and 100 to 200) but kept the same 50 ms margin, so the underlying problem remained.

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

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.

1 participant