Antalya-26.6: use Cloudflare DNS in containers so lookups don't hang on unroutable IPv6 nameservers - #2252
Open
CarlosFelipeOR wants to merge 1 commit into
Open
Antalya-26.6: use Cloudflare DNS in containers so lookups don't hang on unroutable IPv6 nameservers#2252CarlosFelipeOR wants to merge 1 commit into
CarlosFelipeOR wants to merge 1 commit into
Conversation
Containers inherit the runner's uplink resolvers, and the first two are IPv6 (2a01:4ff:ff00::add:1/2). Container IPv6 uses an unroutable prefix, so glibc waits out the timeout on each before falling through to IPv4. Measured on a runner, `getent hosts base.invalid`: default (4 nameservers, IPv6 first) ~14s --dns=185.12.64.1 ~2.9s --dns=185.12.64.2 0.00s --dns=1.1.1.1 0.01s This blocks 04070_url_base_setting, which does 25 lookups of .invalid hostnames in series and takes ~950s instead of ~8s. See #2250. Cloudflare rather than the Hetzner resolvers so the setting also holds on Scaleway and AWS runners.
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.
Containers inherit the runner's uplink resolvers, and the first two are IPv6. Container IPv6 uses an unroutable prefix (
2001:3984:3989::/64, Docker's docs example), so glibc waits out the timeout on each before reaching the IPv4 ones.Measured on a runner,
getent hosts base.invalid:185.12.64.1185.12.64.21.1.1.1This is what blocks
04070_url_base_setting— it does 25.invalidlookups in series and takes ~950s instead of ~8s. Details in #2250.Cloudflare rather than the Hetzner resolvers so the setting holds on Scaleway and AWS runners too. Neither resolves
dockerhub-proxy.dockerhub-proxy-zone, so there's no difference there.Resolves #2250
Changelog category (leave one):
CI/CD Options
Exclude tests:
Regression jobs to run: