Knot 2.3.2 seems to forget zone timers after reload
Hello Knot developers,
I'm running Knot 2.3.2 on a busy server with many slave zones. Several of these zones get SERVFAIL from their master, so they are not loaded. Knot starts to back off when trying to XFR these zones, but if it is reloaded, it seems to forget these timers, and starts hammering away at the masters rapidly. Here's a snippet of the log showing one such failing zone:
2016-11-11T09:02:05 info: configuration reloaded
2016-11-11T09:24:35 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T09:24:53 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T09:25:50 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T09:28:05 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T09:32:53 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T09:42:45 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T09:43:12 info: configuration reloaded
2016-11-11T10:02:33 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:02:33 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:02:53 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:03:55 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:06:08 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:10:32 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:19:36 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:35:20 info: configuration reloaded
2016-11-11T10:38:02 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:38:29 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:39:28 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:41:38 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:46:01 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
2016-11-11T10:55:15 error: [196.62.in-addr.arpa] AXFR, incoming, failed (no usable master)
Notice that after each reload, Knot has forgotten the timer, and resets it to a very low value, which takes time to ramp up. This behaviour is inconsistent with a restart, where Knot does save all the timers to disk, and honours them, even for SERVFAILing zones, when it starts up again.