RUBY-3922 Skip interruptInUse-pool-clear tests broken by SERVER-128517#3093
Merged
Jibola merged 2 commits intoJul 24, 2026
Merged
Conversation
The three sdam_unified/interruptInUse-pool-clear.yml tests fail on server 7.0.39+/8.0.28+ (and 8.2.12+, rapid). SERVER-128517 added minWaitForStreamingHelloMillis (default 10s), flooring the pre-auth streamable hello wait. The monitor no longer detects the failpoint failure fast enough, so the in-use operation hits its own socket timeout before the interruptInUseConnections pool clear fires. This is a server-side change, not a driver regression. Skip the tests to unblock master; RUBY-3922 tracks the long-term fix.
comandeo-mongo
requested review from
Copilot and
jamis
and removed request for
Copilot
July 24, 2026 11:41
The two RTT-dependent command-execution.yml tests fail on server 7.0.39+/8.0.28+ for the same reason as the interruptInUse tests: SERVER-128517's pre-auth streamable hello floor removes the inflated RTT the failpoint used to induce, so maxTimeMS is no longer reduced (499 > 450) and the RTT-too-high short-circuit no longer fires.
jamis
approved these changes
Jul 24, 2026
Jibola
approved these changes
Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The three
sdam_unified/interruptInUse-pool-clear.ymltests started failing on master (green 2026-07-22, red 2026-07-24) with no driver change. The same server change also breaks two RTT-dependentclient_side_operations_timeout/command-execution.ymltests.Root cause
SERVER-128517 "Add configurable minimum timeout for pre-auth streamable hello" introduces the server parameter
minWaitForStreamingHelloMillis(default 10000 ms), flooring the wait for pre-auth streamable hello commands. The monitor's streamable hello is pre-auth, so it is now held up to 10 s. The scenario relies on the monitor detecting the failpoint-induced failure and clearing the pool withinterruptInUseConnections=truequickly; with the floor it no longer reacts in time, so the in-use operation hits its own ~5 s socket timeout (Mongo::Error::SocketTimeoutError) before the interrupt-driven pool clear fires.The same floor also changes RTT measurement: the
command-execution.ymltests use ablockConnection/blockTimeMSfailpoint onhelloto inflate the measured RTT, then assert the driver reducesmaxTimeMS(or short-circuits) accordingly. With the floor the inflated RTT is no longer observed, so:maxTimeMS~499 instead of<= 450.This is a server-side change, not a driver regression.
Evidence
Change
Skip the affected tests via
skipReasonin the fixtures, referencing RUBY-3922 (same pattern as the existing RUBY-3781 skip inhello-network-error.yml):interruptInUse-pool-clear.ymltestscommand-execution.ymltestsRUBY-3922 tracks the long-term fix (set
minWaitForStreamingHelloMillis: 0in the test environment and/or update the upstream spec fixtures; coordinate across drivers).Verified locally against server 8.0.28:
bundle exec rspec spec/spec_tests/sdam_unified_spec.rb -e "interruptInUseConnections"->3 examples, 0 failures, 3 pending.CSOT_SPEC_TESTS=1 bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb->531 examples, 0 failures, 12 pending.