Skip to content

Classify Windows TCP connect timeout as a network error#709

Open
rhysparry wants to merge 1 commit intomainfrom
rhys/eft-3214/fix-is-network-error-windows-timeout
Open

Classify Windows TCP connect timeout as a network error#709
rhysparry wants to merge 1 commit intomainfrom
rhys/eft-3214/fix-is-network-error-windows-timeout

Conversation

@rhysparry
Copy link
Copy Markdown
Contributor

Summary

  • On Windows 2019, connecting to a port with no listener often returns a connection timeout rather than an immediate RST, producing the message "The client was unable to establish the initial connection within the timeout".
  • This message was missing from the IsNetworkError recogniser in ExceptionReturnedByHalibutProxyExtensionMethod.cs, causing it to fall through to UnknownError instead of IsNetworkError.
  • Adds the missing string match so Windows TCP connect timeouts are correctly classified as network errors.

Test plan

  • ExceptionReturnedByHalibutProxyExtensionMethodFixture — all 24 tests pass locally (verified before commit)
  • CI run on Windows 2019 net8.0 — fixes BecauseTheProxyIsNotResponding_TheExceptionShouldBeANetworkError and WhenTheConnectionTerminatesWaitingForAResponse failures seen in nightly builds 4709 and 4710

Identified via analysis of two consecutive failing nightly builds on Windows 2019 (8.1.4709 and 8.1.4710).

🤖 Generated with Claude Code

On Windows 2019, connecting to a port with no listener can result in a
connection timeout rather than an immediate RST, producing the message
"The client was unable to establish the initial connection within the
timeout". This string was missing from the IsNetworkError recogniser,
causing it to fall through to UnknownError on Windows CI runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rhysparry rhysparry requested a review from a team as a code owner April 29, 2026 03:28
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