Lower serial at master doesn't trigger any errors
Today I witnessed a situation that Knot did not flag as an error, and would never recover from by itself. If the serial number of a zone at the master goes backwards (operator error or even a bug), then Knot doesn't seem to mind this. It thinks the zone is up to date, and will never attempt to transfer the zone, and will not expire it. In comparison, BIND and NSD, when they see the lower serial, ignore that master, and try another. If all masters have a lower serial, then the zone goes into "retry" mode, and eventually expires. BIND then drops all state for that zone, and retransfers it. NSD instead expires the zone, and answers with SERVFAIL for the zone. Both of these are reasonable courses of action. However, Knot keep serving the newer serial. I feel that at the very least Knot should also expire the zone.