Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Envoy does duplicate DNS resolutions when there are strict DNS clusters, with the same endpoints #32524

Closed
nirvanagit opened this issue Feb 22, 2024 · 5 comments
Labels
area/cluster enhancement Feature requests. Not bugs or questions. stale stalebot believes this issue/PR has not been touched recently

Comments

@nirvanagit
Copy link

nirvanagit commented Feb 22, 2024

Title: Envoy does duplicate DNS resolutions when there are two strict DNS clusters, and both have the same endpoints

Description:

Describe the desired behavior, what scenario it enables and how it would be used.

Envoy bombards the DNS server, with duplicate DNS resolution calls when multiple STRICT DNS clusters have the same endpoint.

In our setup, we have around 5-7k STRICT DNS clusters, but there are only 340 unique cluster endpoints. At startup, envoy tries to do DNS resolutions for all 5-7k STRICT DNS clusters, and fails for different reasons.

This has resulted in envoy throwing UH errors for a short window just after it marks itself READY.

If Envoy's DNS resolution mechanism can be optimized such that it doesn't start duplicate DNS resolutions, then it would benefit in several ways, for instance:

  1. Envoy would not throw UH errors during startup because of failed DNS resolutions. These failed DNS resolutions have happened due to a variety of reasons. Read this thread for more information.
  2. Envoy would bootup faster, as it reduces the number of DNS resolutions it would need to do
  3. Envoy would not bombard the DNS servers. For example, Amazon DNS server has a limitation of 1024 packets per seconds.

My proposal is to do the following:

  1. Envoy does not do duplicate DNS resolutions
  2. Envoy batches DNS resolutions and doesn't bombard the DNS server with all DNS resolutions at the same time
  3. Envoy should not mark itself ready even if 1 DNS resolution failed. This is critical for systems like API Gateway, where even a single endpoint without DNS resolution can impact traffic.

Relevant Links

Any extra documentation required to understand the issue.

@nirvanagit nirvanagit added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Feb 22, 2024
@nirvanagit
Copy link
Author

Tagging @yuval-k for visibility. Thanks!

@lizan lizan added area/cluster and removed triage Issue requires triage labels Feb 22, 2024
@nirvanagit
Copy link
Author

@lizan - thanks for looking at this issue, wanted to know if there is anything I can help with to add some traction to this ticket?

This is causing issues due to our scale.

Copy link

github-actions bot commented Apr 8, 2024

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.

@github-actions github-actions bot added the stale stalebot believes this issue/PR has not been touched recently label Apr 8, 2024
Copy link

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 15, 2024
@nirvanagit
Copy link
Author

Can this be reopened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cluster enhancement Feature requests. Not bugs or questions. stale stalebot believes this issue/PR has not been touched recently
Projects
None yet
Development

No branches or pull requests

2 participants