You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think there is room for improvement wrt priming: currently both NS, A and AAAA records from the hints are inserted into the record cache with a TTL of 1000 hours in primeHints(). After that, SyncRes::getRootNS() is periodically called and resolves the root NS set (and will find it is in the cache most of the time), but no explicit queries are done for the A/AAAA's of the root servers and no cache entries for them are updated with facts learned from the net, at least not for the first 1000 hours.
I tested this with modifying root-addreses.hh to only contains a few correct IPs of NS and indeed, the wrong addresses were not updated in the cache.
It is probably better to move to an approach where the hints are used to learn the NS and their addresses from the net, and make sure those learned records are inserted into the cache. As a bonus I think it would be good to have the address records of the root servers not all have the same TTD as they have now, when refreshing them it will be possible to use the non-expired ones, and so no need to fall back to the hints most of the time.
Program: Recursor
Issue type: Feature request
The text was updated successfully, but these errors were encountered:
recorded in the cache.
Also make sure the root NS refresh happens more often if max-cache-ttl is low.
This is needed as the records no longer maintain the 1000 hours TTL.
In the existing setup, a reprime (with potential outdated info) was done at that
point in time since all root-server address records would expire at the same
time.
Lastly, fix a infinite (caught by depth check) recursion in getBestNSFromCache().
FixesPowerDNS#10177.
I think there is room for improvement wrt priming: currently both NS, A and AAAA records from the hints are inserted into the record cache with a TTL of 1000 hours in
primeHints()
. After that,SyncRes::getRootNS()
is periodically called and resolves the root NS set (and will find it is in the cache most of the time), but no explicit queries are done for the A/AAAA's of the root servers and no cache entries for them are updated with facts learned from the net, at least not for the first 1000 hours.I tested this with modifying
root-addreses.hh
to only contains a few correct IPs of NS and indeed, the wrong addresses were not updated in the cache.It is probably better to move to an approach where the hints are used to learn the NS and their addresses from the net, and make sure those learned records are inserted into the cache. As a bonus I think it would be good to have the address records of the root servers not all have the same TTD as they have now, when refreshing them it will be possible to use the non-expired ones, and so no need to fall back to the hints most of the time.
The text was updated successfully, but these errors were encountered: