mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 11:15:54 +03:00
[GH-ISSUE #2150] Presence of a faulty nameserver in system config causes client side lookups to take forever #902
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#902
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bergentruckung on GitHub (Feb 20, 2024).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2150
Describe the bug
If there's a faulty nameserver (non-existent/typo or dummy) in
/etc/resolv.confalong with others that are working, the lookup gets stalled (in my case, up to 16s). Would it be possible for the client side lookup to rely on the nameservers in order (from top to bottom), or have an alternate strategy of returning the first successful lookup?To Reproduce
/etc/resolv.confresolve -s google.comExpected behavior
DNS lookup to be quick.
System:
Version:
Crate: [e.g. client, server, resolver]
Version: [e.g. 0.24.0]
@djc commented on GitHub (Feb 28, 2024):
It would be good to dig into more detail on this. This ends up calling
AsyncResolver::inner_lookup(), but it would be good to understand what theResolverConfigandResolverOptslook like in this case. Unfortunately I won't be able to dig into this much more, but happy to provide guidance if you're able to provide more details on the behavior you're seeing.