[Pdns-users] Slave zones never refresh if the refresh value is too high

Brendan Oakley gentux2 at gmail.com
Thu Nov 29 02:23:51 UTC 2007


I am running PowerDNS 2.9.21 with only the BIND backend, as a slave
for a number of zones. We have discovered that only some of the zone
files on a server refresh, while others do not.

There is no problem transferring any of the zones, and no errors. It
is simply that it only knows it needs to check some of them, while
ignoring the others. That is, it logs that some zones need checking,
and correctly checks each zone on the master and either transfers it
or logs that it is fresh. The rest, it simply never does, ever, unless
the PowerDNS daemon is restarted or it is forced with 'pdns_control
retrieve', and then it does it without problem.

We noticed this by checking the timestamps on the bind zone files on
the PowerDNS slaves, and then verified the behavior by viewing the

I analyzed what was different about the zones that refresh, and found
that all of them had a refresh setting of 2400 or less. All the other
zones had refresh values higher than that.

To test this hypothesis, I went to the master server (which is still
running BIND btw) and changed the refresh value for one particular
zone, which had not been refreshing, from 7200 to 100, and ran
"pdns_control retrieve" on it. Sure enough, less than two minutes
after it transferred the zone, it logged that it needed checking, and
that it was fresh. I then changed it to 2400, and it has been working
fine since.

Notice that it had been 7200, which should be two hours, but we found
that it had never refreshed after days of uptime.

It seems my next step is to set up another test environment and trace
this in more detail, but I thought it was worth mentioning here to see
if this makes sense to any of you? Is it possible there is a setting I
have missed in pdns.conf?


More information about the Pdns-users mailing list