envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
25.01k stars 4.81k forks source link

Implement ares_reinit() to optimally handle the situation where DNS resolver needs to be re-initialized #34785

Open agrawroh opened 4 months ago

agrawroh commented 4 months ago

Description

Since this is now complete and we have ares_reinit(), can we switch the DNS resolver to use this rather than marking the channel dirty so that it is destroyed and reinitialized?

See this for more context.

tyxia commented 4 months ago

cced @yanavlasov and @mattklein123 based on cares CODEOWNER

Also add original reporter @ramaraochavali of https://github.com/envoyproxy/envoy/issues/4543

arulthileeban commented 4 months ago

Happy to take this up if no else is working on it

agrawroh commented 3 months ago

Happy to take this up if no else is working on it

@arulthileeban Are you by any chance working on this?

DeirdreCleary commented 3 months ago

Would love to see this implemented! My instance of Envoy failed to auto-recover for 10+ hours after DNS briefly became unavailable

Screenshot 2024-08-05 at 09 41 49
github-actions[bot] commented 2 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

agrawroh commented 2 months ago

@tyxia Is it possible to add help_wanted and no_stale to this?