Fix Windows-RabbitMQ RunScenario test timeout and cascade failures#5456
Merged
mauroservienti merged 1 commit intomasterfrom May 6, 2026
Merged
Fix Windows-RabbitMQ RunScenario test timeout and cascade failures#5456mauroservienti merged 1 commit intomasterfrom
mauroservienti merged 1 commit intomasterfrom
Conversation
GetThroughputPerDay loops 96 times (24*4), each requiring an HTTP call to the RabbitMQ management API plus sending and receiving 15 messages. On Windows CI, this consistently exceeds the 60-second TestTimeout that bounds all CreateTaskCompletionSource instances via testCancellationTokenSource, causing the test to fail with a timeout error mid-run. When the timeout fires while the message pump is still running, the subsequent delivery calls SetResult on an already-faulted TCS, throwing InvalidOperationException. This propagates through the RabbitMQ pump as a processing error, triggering the onError Assert.Fail, which then escalates to the critical-error handler, producing three apparent failures from one root cause. - Raise TestTimeout from 60s to 5 minutes to accommodate the test's 3-minute design budget with margin for slower Windows CI runners - Change SetResult to TrySetResult to stop the cascade when a concurrent timeout and message delivery race Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
danielmarbach
approved these changes
May 6, 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.
Summary
GetThroughputPerDayloops 96 times (24×4), each requiring an HTTP call to the RabbitMQ management API plus sending and receiving 15 messages. On Windows CI this consistently exceeds the 60-secondTestTimeoutthat bounds allCreateTaskCompletionSourceinstances, causing the test to time out mid-run.SetResulton an already-faulted TCS, throwingInvalidOperationException. This propagates through the RabbitMQ pump as a processing error →onError→Assert.Fail→ critical-error handler → a secondAssert.Fail, producing three apparent failures from one root cause.Changes:
TestTimeoutfrom 60 s to 5 minutes to accommodate the test's 3-minute design budget with margin for slower Windows CI runnersSetResult→TrySetResultto stop the cascade when a concurrent timeout and message delivery raceFixes the consistently failing
Windows-RabbitMQjob in PR #5446.Test plan
Windows-RabbitMQpasses on this branch🤖 Generated with Claude Code