[nsd-users] nsd4 not detecting changed included files when rebuilding database

Jeroen Massar jeroen at massar.ch
Mon Mar 10 11:47:11 UTC 2014


nsd4 is trying to be too smart and thus when a 'reload' or even a
'restart' is issued the database is not being rebuild properly when one
uses includes.

It seems (I did for once not read the code ;) that nsd checks the
filetime of the files as configured in a 'zone' statement, and based on
the changetime of that file it then decided to rebuild the zone or not.

Hence, if the primary file is not changed, but an included file has
changed, the zone will not be rebuild.

Quick work-around: touch *, and then a nsd-control reload

It would great if the rebuilding logic would either always rebuild zones
that contain includes, or possibly better, keep a 'include' list and
then based on the actual files did a rebuild or not.

I am not sure if it does that now or if it is possinle, but having a
per-file 'compiled' version could work here too, then if there is a
small include and another big include, only the small one will be
reparsed/compiled while the big non-changed one does not have to be handled.


More information about the nsd-users mailing list