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

We hope there is a new feature that gives priority to the first result. #47

Closed
zzhuang94 opened this issue Jan 4, 2023 · 4 comments
Closed

Comments

@zzhuang94
Copy link
Contributor

We have this scenario:

  1. Multiple upstream servers are configured
  2. One of them is down
  3. Query a non-existent domain and expect NXDOMAIN result
  4. But in fact, we get "connection timed out" result

If we use the timeout to set the request timeout, it may affect the result of normal domains.

Therefore, we hope there is a new feature that gives priority to the first result, whether it is negative or not, as long as it is a standard DNS result (except for timeout).

@zzhuang94 zzhuang94 mentioned this issue Jan 4, 2023
@denis-tingaikin
Copy link
Member

Hmm... It seems to me that the root cause is that one of the upstream servers is long looking for the entry (that it actually doesn't know) finally it makes timeout error.

Is that server under your control?

@zzhuang94
Copy link
Contributor Author

Hmm... It seems to me that the root cause is that one of the upstream servers is long looking for the entry (that it actually doesn't know) finally it makes timeout error.

Is that server under your control?

Yes, all upstream servers are maintained by ourselves.

However, we are worried that one of these servers is unreachable for some reason, which is also the root cause for our use of this plugin.

Our business scenario is that multiple upstream servers are completely equivalent, and the results returned from any servers are consistent.

Therefore, we hope to take the fastest returned result as the final result.

@edwarnicke
Copy link
Member

@zzhuang94 Its seems that you have the opposite problem to the one initially anticipated for fanout. fanout had been thinking in terms of multiple not-necessarily equivalent DNS servers. In such an environment, accepting a negative result simply because its first may result in missing a positive result that simply comes in later. So the default rule was "first non-negative result is returned"

In your environment, your DNS servers are equivalent. In such a situation I can see why you want the "first response, whether positive or negative" as the outcome. It was not a use case anticipated originally, but I can see why you have it and why you desire this behavior as an option.

@zzhuang94
Copy link
Contributor Author

thanks for merging !

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

No branches or pull requests

3 participants