Commit 22b7efd
Fix Windows-RabbitMQ RunScenario test timeout and cascade failures (#5456)
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>1 parent f688ec6 commit 22b7efd
1 file changed
Lines changed: 2 additions & 2 deletions
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
203 | | - | |
| 203 | + | |
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
| |||
0 commit comments