Skip to content

fix(acp): classify Windows DNS errno 11002/11004 without consuming backoff - #7560

Open
Bartok9 wants to merge 1 commit into
block:mainfrom
Bartok9:bartok/fix-acp-windows-dns-errno-7512
Open

Bartok9 wants to merge 1 commit into
block:mainfrom
Bartok9:bartok/fix-acp-windows-dns-errno-7512

Conversation

@Bartok9

@Bartok9 Bartok9 commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Summary

is_dns_error only matched English resolver strings plus one Windows code (11001 / WSAHOST_NOT_FOUND). Production logs in #7512 show WSANO_DATA (os error 11004) taking the backoff ladder while 11001 correctly used the DNS flat retry.

Change

  • Prefer raw_os_error() on RelayError::WebSocket(Io(_)) so classification is independent of Windows display language.
  • Treat 11001, 11002 (WSATRY_AGAIN), and 11004 as transient DNS. Leave 11003 (WSANO_RECOVERY) off that path.
  • Keep existing Unix/macOS string fallbacks for flattened RelayError::Http.
  • is_windows_dns_errno is a pure i32 matcher so Linux CI can assert the Windows path.

Fixes #7512

Test plan

  • cargo test -p buzz-acp --lib is_dns_error
  • Unit coverage for 11002/11004 classified as DNS and 11003 not classified.

@Bartok9
Bartok9 requested a review from a team as a code owner September 10, 2026 15:45
@github-actions

github-actions Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is 20131488528e35e6c50f4ccdb0490a9135c28edf...ec62b9f1c81a0868f9da9f32c845b50f82ce17be.
A new review must complete for this exact range. When manual authorization
is required, a Block organization member must comment exactly
@buzz-security-review ec62b9f1c81a0868f9da9f32c845b50f82ce17be to authorize a new review.
Any previous review applies only to its recorded range.

@Bartok9
Bartok9 force-pushed the bartok/fix-acp-windows-dns-errno-7512 branch 3 times, most recently from 9845310 to f90cd15 Compare September 16, 2026 13:17
@Bartok9
Bartok9 force-pushed the bartok/fix-acp-windows-dns-errno-7512 branch 5 times, most recently from 5815e34 to 1023bd7 Compare September 24, 2026 22:23
…ckoff

is_dns_error only matched English resolver strings and one Windows code
(11001). WSANO_DATA (11004) and WSATRY_AGAIN (11002) therefore burned
autonomous-reconnect ladder rungs on transient getaddrinfo brownouts.

Match raw_os_error() first (language-independent), keep string fallback
for flattened Http errors, and leave WSANO_RECOVERY (11003) off the DNS
path. Fixes block#7512.

Signed-off-by: Bartok9 <259807879+Bartok9@users.noreply.github.com>
@Bartok9
Bartok9 force-pushed the bartok/fix-acp-windows-dns-errno-7512 branch from 1023bd7 to ec62b9f Compare September 25, 2026 13:16

This branch has not been deployed

No deployments
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.

buzz-acp: the DNS classifier catches 1 of the 3 transient Windows resolver codes, so a name resolution blip consumes the reconnect backoff ladder

1 participant