Open pd-448482 opened 3 years ago
The recursive server query domains recursively from scratch, so it has to send several requests one after another on cache miss, e.g. for www.example.com
, first query .com
, then example.com
, then www.example.com
. The whole request times out if the sum of request time is longer than the predefined value (3s). Since there is no cache at the beginning, early requests are likely to time out.
So this issue is the result of a design defect and we don't have much to do right now. One way to mitigate it is to send some requests once server starts and wait for the records of roots and top level domains to be cached.
Hi, so I have been trying out the server functionality via command line and I get some issues around the dns server upstream dns requests. I'm on python version
3.8.10
and async-dns version2.0.0
. I ran the client multiple times and captured the debug output from the server.So the first request got a
TimeoutError
. The second request got aRemote server fail
. Then the third got a successful request. The most common behavior I experience when I start up the server is to just get theTimeoutError
on every call. Eventually, after the server running for some amount of time, I will have a call that returns theRemote Server Fail
, then the rest of the calls work.I never have any problems resolving a hostname via a utility like
nslookup
using my normal dns settings. I'm running this in an ubuntu vm.