What does named log message "deleted from unreachable cache" mean?
- Updated on 07 Sep 2018
- 2 minutes to read
An example of the message being logged is:
02-Aug-2012 07:58:20.601 general: info: master 192.0.2.4#53 (source 192.0.2.8#0) deleted from unreachable cache
BIND maintains a cache of unreachable masters to which it refers when handling a zone refresh. If a zone refresh fails with a specific master (either during the query for the SOA or after querying and while attempting a subsequent zone transfer), then this master is cached as 'unreachable' for 10 minutes.
As of versions 9.6-ESV-R6, 9.7.5, 9.8.2 and 9.9.0 onwards, the change below implements an earlier removal of a master server from the unreachable cache if a NOTIFY is received from it. Note that receipt of a NOTIFY (which is a UDP packet travelling from master to slave) doesn't guarantee that the master will be reachable from the slave, but it does ensure quicker recovery in the situation where a master was temporarily unavailable, for example for a reboot.
In the CHANGES file, it is described thus:
3204. [bug] When a master server that has been marked as unreachable sends a NOTIFY, mark it reachable again. [RT #25960]
To further investigate (if for example, the message is being logged persistently, which suggests that notifies are being received, but that many zone transfers are failing), you need to examine what is being logged under category xfer-in. For events that would lead to the master being added to unreachable cache, search for messages containing "failed to connect" or "could not refresh". For example:
xfer-in: error: transfer of 'testzone.example.com/IN' from 192.0.2.4#53: failed to connect: timed out
You may also see other logged messages that indicate that a transfer has not happened because this master is currently listed in unreachable cache. There are several different messages that can be logged (from different circumstances), but they all contain the text "unreachable (cached)". For example:
general: info: zone testzone.example.com/IN: refresh: skipping zone transfer as master 192.0.2.4#53 (source 192.0.2.8#0) is unreachable (cached)