From 4e309a87b90f76da18727163a12f39cc785ba93f Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov <160598371+comandeo-mongo@users.noreply.github.com> Date: Tue, 13 Oct 2026 11:43:38 +0200 Subject: [PATCH 1/2] RUBY-3922 Re-enable tests skipped for SERVER-128517 Unskip the five tests disabled in #3093 and gate them to skip server 7.x, where SERVER-128517's pre-auth streamable hello floor is still present (the 7.0 backport is not released yet). They run on server 8.0 and above. --- .../command-execution.yml | 14 +++++++++++-- .../interruptInUse-pool-clear.yml | 21 ++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml b/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml index 43d5b04567..f69f0e9809 100644 --- a/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml +++ b/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml @@ -28,7 +28,12 @@ initialData: tests: - description: "maxTimeMS value in the command is less than timeoutMS" - skipReason: "RUBY-3922: fails on server 7.0.39+/8.0.28+ due to SERVER-128517 pre-auth streamable hello 10s floor changing RTT measurement" + runOnRequirements: + # SERVER-128517 floors pre-auth streamable hello at 10s, which changes the + # measured RTT. SERVER-132246 lowered the default to 500ms, but the 7.0 + # backport is not released yet, so skip 7.x and run everywhere else. RUBY-3922. + - maxServerVersion: "6.99" + - minServerVersion: "8.0" operations: # Artificially increase the server RTT to ~50ms. - name: failPoint @@ -101,7 +106,12 @@ tests: maxTimeMS: { $$lte: 450 } - description: "command is not sent if RTT is greater than timeoutMS" - skipReason: "RUBY-3922: fails on server 7.0.39+/8.0.28+ due to SERVER-128517 pre-auth streamable hello 10s floor changing RTT measurement" + runOnRequirements: + # SERVER-128517 floors pre-auth streamable hello at 10s, which changes the + # measured RTT. SERVER-132246 lowered the default to 500ms, but the 7.0 + # backport is not released yet, so skip 7.x and run everywhere else. RUBY-3922. + - maxServerVersion: "6.99" + - minServerVersion: "8.0" operations: # Artificially increase the server RTT to ~50ms. - name: failPoint diff --git a/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml b/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml index 708c855612..c54f32bd8d 100644 --- a/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml +++ b/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml @@ -21,7 +21,12 @@ initialData: &initialData tests: - description: Connection pool clear uses interruptInUseConnections=true after monitor timeout - skipReason: "RUBY-3922: fails on server 7.0.39+/8.0.28+ due to SERVER-128517 pre-auth streamable hello 10s floor" + runOnRequirements: + # SERVER-128517 floors pre-auth streamable hello at 10s, which breaks this + # test. SERVER-132246 lowered the default to 500ms, but the 7.0 backport is + # not released yet, so skip 7.x and run everywhere else. RUBY-3922. + - maxServerVersion: "6.99" + - minServerVersion: "8.0" operations: - name: createEntities object: testRunner @@ -125,7 +130,12 @@ tests: - _id: 1 - description: Error returned from connection pool clear with interruptInUseConnections=true is retryable - skipReason: "RUBY-3922: fails on server 7.0.39+/8.0.28+ due to SERVER-128517 pre-auth streamable hello 10s floor" + runOnRequirements: + # SERVER-128517 floors pre-auth streamable hello at 10s, which breaks this + # test. SERVER-132246 lowered the default to 500ms, but the 7.0 backport is + # not released yet, so skip 7.x and run everywhere else. RUBY-3922. + - maxServerVersion: "6.99" + - minServerVersion: "8.0" operations: - name: createEntities object: testRunner @@ -232,7 +242,12 @@ tests: documents: - _id: 1 - description: Error returned from connection pool clear with interruptInUseConnections=true is retryable for write - skipReason: "RUBY-3922: fails on server 7.0.39+/8.0.28+ due to SERVER-128517 pre-auth streamable hello 10s floor" + runOnRequirements: + # SERVER-128517 floors pre-auth streamable hello at 10s, which breaks this + # test. SERVER-132246 lowered the default to 500ms, but the 7.0 backport is + # not released yet, so skip 7.x and run everywhere else. RUBY-3922. + - maxServerVersion: "6.99" + - minServerVersion: "8.0" operations: - name: createEntities object: testRunner From ff138eb3067edd2bcacc42f7d24954efef088bfa Mon Sep 17 00:00:00 2001 From: Dmitry Rybakov <160598371+comandeo-mongo@users.noreply.github.com> Date: Tue, 13 Oct 2026 15:27:04 +0200 Subject: [PATCH 2/2] RUBY-3922 Skip 8.2 as well in the SERVER-128517 test gate The 8.2 replica-set axes failed in CI: 8.2.12 is the last 8.2 release and still has SERVER-128517's 1s pre-auth streamable hello floor. SERVER-132246 lowered the default to 500ms on 8.0, 8.3, 9.0 and 7.0, but there is no 8.2 backport and there will not be one, so skip 8.2.x alongside 7.x. Also correct the comment: the released floor is 1s, not 10s. --- .../command-execution.yml | 20 +++++++++---- .../interruptInUse-pool-clear.yml | 30 +++++++++++++------ 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml b/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml index f69f0e9809..a52c8b19a6 100644 --- a/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml +++ b/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml @@ -29,11 +29,15 @@ initialData: tests: - description: "maxTimeMS value in the command is less than timeoutMS" runOnRequirements: - # SERVER-128517 floors pre-auth streamable hello at 10s, which changes the - # measured RTT. SERVER-132246 lowered the default to 500ms, but the 7.0 - # backport is not released yet, so skip 7.x and run everywhere else. RUBY-3922. + # SERVER-128517 floors pre-auth streamable hello at 1s, which changes the + # measured RTT. SERVER-132246 lowered the default to 500ms in 8.0.30, + # 8.3.9 and 9.0.0-rc2, but it was never backported to 8.2 (8.2.12 is the + # last 8.2 release) and the 7.0 backport is not released yet. Skip 7.x and + # 8.2.x; run everywhere else. RUBY-3922. - maxServerVersion: "6.99" - minServerVersion: "8.0" + maxServerVersion: "8.1" + - minServerVersion: "8.3" operations: # Artificially increase the server RTT to ~50ms. - name: failPoint @@ -107,11 +111,15 @@ tests: - description: "command is not sent if RTT is greater than timeoutMS" runOnRequirements: - # SERVER-128517 floors pre-auth streamable hello at 10s, which changes the - # measured RTT. SERVER-132246 lowered the default to 500ms, but the 7.0 - # backport is not released yet, so skip 7.x and run everywhere else. RUBY-3922. + # SERVER-128517 floors pre-auth streamable hello at 1s, which changes the + # measured RTT. SERVER-132246 lowered the default to 500ms in 8.0.30, + # 8.3.9 and 9.0.0-rc2, but it was never backported to 8.2 (8.2.12 is the + # last 8.2 release) and the 7.0 backport is not released yet. Skip 7.x and + # 8.2.x; run everywhere else. RUBY-3922. - maxServerVersion: "6.99" - minServerVersion: "8.0" + maxServerVersion: "8.1" + - minServerVersion: "8.3" operations: # Artificially increase the server RTT to ~50ms. - name: failPoint diff --git a/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml b/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml index c54f32bd8d..4caea71213 100644 --- a/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml +++ b/spec/spec_tests/data/sdam_unified/interruptInUse-pool-clear.yml @@ -22,11 +22,15 @@ initialData: &initialData tests: - description: Connection pool clear uses interruptInUseConnections=true after monitor timeout runOnRequirements: - # SERVER-128517 floors pre-auth streamable hello at 10s, which breaks this - # test. SERVER-132246 lowered the default to 500ms, but the 7.0 backport is - # not released yet, so skip 7.x and run everywhere else. RUBY-3922. + # SERVER-128517 floors pre-auth streamable hello at 1s, which breaks this + # test's 500ms heartbeat/connect timeouts. SERVER-132246 lowered the + # default to 500ms in 8.0.30, 8.3.9 and 9.0.0-rc2, but it was never + # backported to 8.2 (8.2.12 is the last 8.2 release) and the 7.0 backport + # is not released yet. Skip 7.x and 8.2.x; run everywhere else. RUBY-3922. - maxServerVersion: "6.99" - minServerVersion: "8.0" + maxServerVersion: "8.1" + - minServerVersion: "8.3" operations: - name: createEntities object: testRunner @@ -131,11 +135,15 @@ tests: - description: Error returned from connection pool clear with interruptInUseConnections=true is retryable runOnRequirements: - # SERVER-128517 floors pre-auth streamable hello at 10s, which breaks this - # test. SERVER-132246 lowered the default to 500ms, but the 7.0 backport is - # not released yet, so skip 7.x and run everywhere else. RUBY-3922. + # SERVER-128517 floors pre-auth streamable hello at 1s, which breaks this + # test's 500ms heartbeat/connect timeouts. SERVER-132246 lowered the + # default to 500ms in 8.0.30, 8.3.9 and 9.0.0-rc2, but it was never + # backported to 8.2 (8.2.12 is the last 8.2 release) and the 7.0 backport + # is not released yet. Skip 7.x and 8.2.x; run everywhere else. RUBY-3922. - maxServerVersion: "6.99" - minServerVersion: "8.0" + maxServerVersion: "8.1" + - minServerVersion: "8.3" operations: - name: createEntities object: testRunner @@ -243,11 +251,15 @@ tests: - _id: 1 - description: Error returned from connection pool clear with interruptInUseConnections=true is retryable for write runOnRequirements: - # SERVER-128517 floors pre-auth streamable hello at 10s, which breaks this - # test. SERVER-132246 lowered the default to 500ms, but the 7.0 backport is - # not released yet, so skip 7.x and run everywhere else. RUBY-3922. + # SERVER-128517 floors pre-auth streamable hello at 1s, which breaks this + # test's 500ms heartbeat/connect timeouts. SERVER-132246 lowered the + # default to 500ms in 8.0.30, 8.3.9 and 9.0.0-rc2, but it was never + # backported to 8.2 (8.2.12 is the last 8.2 release) and the 7.0 backport + # is not released yet. Skip 7.x and 8.2.x; run everywhere else. RUBY-3922. - maxServerVersion: "6.99" - minServerVersion: "8.0" + maxServerVersion: "8.1" + - minServerVersion: "8.3" operations: - name: createEntities object: testRunner