Bugzilla – Bug 667
Inconsistent behavior when loading zone.list manually _and_ using database:
Last modified: 2017-06-15 11:57:59 CEST
When loading zone.list manually (because it is not possible to bulk-load using
nsd-control, and loading one zone at a time is too slow) together with using
database nsd seems to lock up in a axfr loop, never acually beeing able to serve a single zone, even tho the zones are transferred correctly.
I also tried stopping nsd, removing database and xfrd.state, then starting
again, but does not work. Only "fix" I have found to this is disabling the
database. Then everything works as expected.
I would tho like better scheduling of zone-refresh when having a huge amount
I think what is happening is disk activity with that database. Did you know that NSD has a mode where you put database: "" in nsd.conf. Then it does not use the database at all (it writes the zonefile text files periodically, if you want). That uses less memory and less disk access, and perhaps that will speed things up?
NSD will schedule zone transfers and this does not actually lock up the zone service process, so what I understand from what is happening to you is that things are slow.
(In reply to Wouter Wijngaards from comment #1)
> Hi Bjørnar,
> I think what is happening is disk activity with that database. Did you know
> that NSD has a mode where you put database: "" in nsd.conf. Then it does
> not use the database at all (it writes the zonefile text files periodically,
> if you want). That uses less memory and less disk access, and perhaps that
> will speed things up?
Yes. When I said "disable database", I ment setting database: ""
This however does look like a bug. We have had it running for a long time,
and it never seems to catch up. It does the AXFR's, but repeats them over
and over in a seemingly endless loop, without ever writing a file (even when nsd-control write) or answering queries.
> NSD will schedule zone transfers and this does not actually lock up the zone
> service process, so what I understand from what is happening to you is that
> things are slow.
Its not all that slow, its just a lot of zones, and a endless loop, for some
reason. Disabling the database makes all these problems disappear.
It sounds like the zone transfers are not completing successfully. That is why NSD would retry, and keep retrying because there is no succesfull completion.
Are the TSIG keys configured wrong, or the source-address of the outgoing AXFR is not correct and thus AXFRs are denied? Is that the issue? Are there clues is syslog (or the log file) about what is going wrong (errors?)?
Because, you are right that after an initial flow of many transfers it should stop with that and run.
Created attachment 407 [details]
IXFR of the first zone that reported issues