Skip to content

dns: reinitialize c-ares channel on ARES_ETIMEOUT#41718

Merged
agrawroh merged 2 commits into
envoyproxy:mainfrom
Najji:fix-cares-timeout-reinit
Oct 31, 2025
Merged

dns: reinitialize c-ares channel on ARES_ETIMEOUT#41718
agrawroh merged 2 commits into
envoyproxy:mainfrom
Najji:fix-cares-timeout-reinit

api/dns: add c-ares reinit-on-timeout

6289324
Select commit
Loading
Failed to load commit list.
CI (Envoy) / Mobile/Coverage skipped Oct 30, 2025 in 0s

Check was skipped

This check was not triggered in this CI run

Details

Request (pr/41718/main@6289324)

Najji @Najji 6289324 #41718 merge main@ca1200b

dns: reinitialize c-ares channel on ARES_ETIMEOUT

Commit Message: dns: reinitialize c-ares channel on ARES_ETIMEOUT

Additional Description::
Add ARES_ETIMEOUT to the list of error conditions that trigger c-ares channel reinitialization. When DNS queries timeout, the c-ares channel can enter a broken state where UDP sockets become unusable and subsequent queries continue to fail. This is similar to ARES_ECONNREFUSED and other connection errors that already trigger reinitialization.

Risk Level: Low

Testing: Updated existing DnsImplZeroTimeoutTest::Timeout test to verify channel reinitialization after timeout.

Docs Changes: N/A

Release Notes: Added to changelogs/current.yaml

Platform Specific Features: N/A

Environment

Request variables

Key Value
ref f3ecfd0
sha 6289324
pr 41718
base-sha ca1200b
actor Najji @Najji
message dns: reinitialize c-ares channel on ARES_ETIMEOUT...
started 1761798172.613801
target-branch main
trusted false
Build image

Container image/s (as used in this CI run)

Key Value
default docker.io/envoyproxy/envoy-build-ubuntu:f4a881a1205e8e6db1a57162faf3df7aed88eae8
mobile docker.io/envoyproxy/envoy-build-ubuntu:mobile-f4a881a1205e8e6db1a57162faf3df7aed88eae8
Version

Envoy version (as used in this CI run)

Key Value
major 1
minor 37
patch 0
dev true