mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 03:05:51 +03:00
[GH-ISSUE #1636] SRV/TXT lookup performed after TXT/SRV lookup slow on Windows when using the system resolver config #717
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#717
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 @patrickfreed on GitHub (Feb 16, 2022).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/1636
Describe the bug
On Windows, the first TXT lookup performed after an SRV lookup (or vice-versa) when using the system resolver config is very slow. This appears to be a known issue per the README, but I haven't seen any GitHub Issue tracking it yet. Is there any progress towards a fix? Using an alternative resolver config (e.g. Cloudflare) seems to fix the issue.
To Reproduce
prints
Expected behavior
All requests are expected to be fast.
System:
Version:
Crate: resolver
Version: 0.20.4
Additional context
This currently requires users of the
mongodbcrate to work around this by manually specifying an alternative resolver, which is not ideal.@bluejekyll commented on GitHub (Feb 20, 2022):
Is it possible for you to try
0.21.0.alpha.5? That has a few performance improvements that may help here.@bluejekyll commented on GitHub (Feb 20, 2022):
@djc, I think this might go back to our "trust_nx_responses" flags where local resolvers are not trusted, yet cloudflare, quad9, and google are. I'm not sure of a great strategy here since we know that misconfigured local resolvers will consistently cause us problems. I wonder if we should consider lowering the timeouts on requests?
@patrickfreed, if possible, could you enable debug logging for the trust-dns libraries and share the log output from that? You can use the binary,
resolvefrom thetrust-dns-utilcrate to test the resolver performance and pass the--debugflag which might make it easier to capture this output.@djc commented on GitHub (Feb 21, 2022):
Yeah, 5s seems like a pretty long timeout to have. I think we saw better results at about 2s, although that was with Google public DNS.
@patrickfreed commented on GitHub (Mar 25, 2022):
So I wasn't able to reproduce the issue using the
resolveutility, since it only seems to happen when performing an SRV/TXT lookup after a TXT/SRV lookup, andresolvecan only perform one at a time.I was able to get debug logging output from my above example though, hopefully it's helpful:
It looks like it tries to reuse the connection established for the TXT lookup but times out.