Hi List,
I again have a backwards compatibility question.
HUP, in sysklogd, means a full restart of the syslogd. This is done
because the configuration may have been changed and to apply the new
one, the previous one must be shut down. This is even more so the case
in rsyslog, which has multiple dynamically loadable plugins and all
that...
rsyslog has implemented HUP processing to be compatible to sysklogd.
However, in practice (as far as I know) HUP is almost always being used
to close the output files after log rotation. An automatted config
reaload indication usually does not happen (but operators use HUP after
doing a config change).
HUP, as it currently is, is an extremely expensive operation. Keep in
mind that it is a full daemon restart, so, among other things, it
unloads modules and tears down (TCP, RELP, TLS, ...) connections. In
most cases, though, this would not be needed.
I now consider changing the way HUP works. I would like to model it in a
way that closes files and clears caches (where useful), but not do a
full restart.
Initially, I thought to use a special signal (e.g. USR2) for this
purpose. But still logrotate, as a well-known example, would cause a
daemon restart where none is needed. So I now think it would be best to
change HUP in the way described above. Those that need to apply a config
change would then need to do a regular daemon restart - the same thing
that is done with other daemons. In order to keep compatible, I would
add an $HUPisRestart option, by default off, which could be used to
re-enable previous behavior.
I would appreciate feedback on this plan. Are there any concerns? Is
this a good idea or a bad one? Does it break something I have not yet
mentioned?
Thanks,
Rainer
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com
I again have a backwards compatibility question.
HUP, in sysklogd, means a full restart of the syslogd. This is done
because the configuration may have been changed and to apply the new
one, the previous one must be shut down. This is even more so the case
in rsyslog, which has multiple dynamically loadable plugins and all
that...
rsyslog has implemented HUP processing to be compatible to sysklogd.
However, in practice (as far as I know) HUP is almost always being used
to close the output files after log rotation. An automatted config
reaload indication usually does not happen (but operators use HUP after
doing a config change).
HUP, as it currently is, is an extremely expensive operation. Keep in
mind that it is a full daemon restart, so, among other things, it
unloads modules and tears down (TCP, RELP, TLS, ...) connections. In
most cases, though, this would not be needed.
I now consider changing the way HUP works. I would like to model it in a
way that closes files and clears caches (where useful), but not do a
full restart.
Initially, I thought to use a special signal (e.g. USR2) for this
purpose. But still logrotate, as a well-known example, would cause a
daemon restart where none is needed. So I now think it would be best to
change HUP in the way described above. Those that need to apply a config
change would then need to do a regular daemon restart - the same thing
that is done with other daemons. In order to keep compatible, I would
add an $HUPisRestart option, by default off, which could be used to
re-enable previous behavior.
I would appreciate feedback on this plan. Are there any concerns? Is
this a good idea or a bad one? Does it break something I have not yet
mentioned?
Thanks,
Rainer
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com