-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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
dns.js not properly iterating through DNS array #21391
Comments
No, the second one is the fallback for when the first one times out or errors; not when it reports "no such host exists."
It's basically how /etc/resolv.conf works. I suppose a note could be added to the docs. PR welcome. |
Hello, just minor friendly message that I'm happy to give this "good first issue" issue an attempt. Hopefully I could make progress to open a PR soon. P.S.: Updated below to strike through my outdated comments from previous edits:
|
@BeniCheni Collaborators are not the same as contributors. Please see https://github.com/nodejs/node/blob/master/GOVERNANCE.md for more information about collaborators. All contributors to Node.js are listed in https://github.com/nodejs/node/blob/master/AUTHORS (I believe Line 2190 in 4970e2b
|
I didn't see any PR for 4 days from the user above so I made one: #21469 Let me know if everyone likes the note. Perhaps we could clarify further on what errors it will continue checking other servers? I couldn't find this information in the documentation so I'm not sure. |
Thanks for making the PR @Shivang44. Didn't mean to completely abandon my own issue, but just completely forgot to make a PR once I was home. Thanks! |
Added a note that that clarifies the fact that setServers() does not check subsequent servers when the first one produces a NOTFOUND error. PR-URL: #21469 Refs: #21391 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Added a note that that clarifies the fact that setServers() does not check subsequent servers when the first one produces a NOTFOUND error. PR-URL: #21469 Refs: #21391 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Landed in 95205a6. I believe this issue can be closed as long as @MatthewPinheiro is okay with it |
I'll preface this by saying that there's a significant chance I'm simply misunderstanding
dns.setServers
, but that being said, I believe I'm experiencing undesired functionality.Given
var dnsServer1
andvar dnsServer2
are two valid IP Address strings of two valid DNS servers, and given thatvar host
is a valid string which resolves to an IP ondnsServer1
but not ondnsServer2
, consider the following code:If the above is run, an
ENOTFOUND
error will be produced andrecords
will beundefined
. However, if the order of the array passed intodns.setServers
is reversed, i.e.dns.setServers([dnsServer1, dnsServer2])
and the same call to
dns.resolve
is made, no error will be produced andrecords
will have resolved to a valid IP.Isn't
dns.resolve
supposed to check through each DNS IP set bydns.setServers
until either one is able to resolvehost
or none of them are able to do so? Here it instead seems the entire resolve operation fails as soon as the first DNS IP fails, and succeeds as soon as the first DNS IP succeeds.I've tried to find more thorough documentation but couldn't find anything that said one way or the other.
The text was updated successfully, but these errors were encountered: