Skip to content

storage: keep the resolver's address family order when dialing blob front-ends - #53

Merged
luke-lombardi merged 1 commit into
masterfrom
ll/blob-dial-fallback
Sep 26, 2026
Merged

luke-lombardi merged 1 commit into
masterfrom
ll/blob-dial-fallback

Conversation

@luke-lombardi

@luke-lombardi luke-lombardi commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

The blob range dialer shuffles every resolved address together, so on a host with an IPv6 default route it cannot use (router advertisement, ULA addresses only, as on our bare-metal agent nodes) an IPv6 address picked first waits out the 10s dial timeout. A 58 MB Docker Hub layer took two such timeouts before a 315ms transfer; curl -6 to registry-1.docker.io hangs on those nodes while curl -4 connects in 40ms. Keep the resolver's family order (RFC 6724) and shuffle within it.

…ront-ends

The dialer shuffled every resolved address together, so on a host with an
IPv6 default route it cannot use (router advertisement, ULA addresses only)
an IPv6 address picked first waited out the 10s dial timeout. One Docker Hub
layer took two such timeouts before a 315ms transfer.
@luke-lombardi luke-lombardi changed the title storage: race address families when dialing blob front-ends storage: keep the resolver's address family order when dialing blob front-ends Sep 26, 2026
@luke-lombardi
luke-lombardi merged commit 4f8dd04 into master Sep 26, 2026
1 check passed
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