-
Notifications
You must be signed in to change notification settings - Fork 673
[dns] constant delay on reverse lookups of non-weave IPs #473
Comments
I believe this is a valid description of the current implementation. |
Unfortunately yes. In my setup I am running a service in a docker container (connected to weave/weave DNS) which does a reverse DNS request on the destination IP with every request. Because the IP is a local one the reverse dns query will fail every time and adds a constant delay to every request. Disabling the service's behaviour is not an option. Bind answers failing reverse DNS requests without a noticable delay. |
@stonemaster the delay is caused because weaveDNS does not currently cache negative local query results. Consequently each time you ask it to reverse resolve a non-weave IP we incur a delay while we multicast to other peers looking for an answer; only when this times out do we fallback to external DNS. There is some ongoing work to add caching to weaveDNS which should mitigate this problem in future. |
weavedns is configured to resolve 10.0.0.0/16 while the ip address I want to resolve is outside that managed range. |
Logically you are completely correct; unfortunately there are some characteristics of the implementation, driven by other important requirements, that make this less straightforward than might be expected:
There are a couple of possible ways of addressing the problem:
|
No, it isn't. The CIDR in |
@stonemaster The latest version should mitigate this in some degree. There is a new mechanism that performs negative caching for local responses. So you should experience that delay on the first query but, if it does not belong to the local domain, WeaveDNS will remember that for 30 seconds and go straight to your fallback server... |
resolved by #429. |
Reverse DNS requests to Weave DNS are very slow compared to those made against a local bind server:
Weave DNS
LOCAL BIND SERVER
Error message of weavedns during query:
The local bind server is the fallback DNS server for weavedns. It starts to ask that fallback server after waiting 0.5 seconds apparently.
The text was updated successfully, but these errors were encountered: