Red Hat Bugzilla – Bug 221073
logrotate script should use SIGUSR1 signal not SIGHUP
Last modified: 2015-07-20 08:10:12 EDT
Description of problem:
The installed script for logrotate (/etc/logrotate.d/httpd)uses SIGHUP to get
httpd to reopen log files. This is unncessarily harsh, and kills child process
which might have active tasks running, and SIGUSR1 should be used instead.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.make client http connection ... some long running database access, for example
3.kill -HUP `cat /var/run/httpd.pid`
4.check for active client connection
SIGHUP kills client connections and creates new error_log
Only new log should be created
In above steps if SIGUSR1 is used then only log file is created and client
connection remain unterminated. Deliberately killing client connections when
creating new log files is not a good idea.
Yes, thanks for the report.
Graceful restarts are not ideal when using piped loggers unfortunately so there
is a tricky trade-off here. With piped loggers you will lose all log messages
after the SIGUSR1; I wanted to get this fixed before switching the default.
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.
If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
Thanks for your help, and we apologize again that we haven't handled
these issues to this point.
The process we are following is outlined here:
We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.
And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '8'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 8's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 8 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
*** Bug 436724 has been marked as a duplicate of this bug. ***
*** Bug 555981 has been marked as a duplicate of this bug. ***
Another difference between HUP and USR1 is that USR1 starts the httpd if it was not running, HUP does not. I noticed this recently when I turned off an old webserver where I had changed the logrotate script to do a graceful and next day apache was running again.
You mean 'apachectl graceful' restarts httpd. A signal cannot restart anything.
In any case:
/sbin/service httpd status >/dev/null && /usr/sbin/apachectl graceful || true
is all that is required to prevent a restart.
(In reply to comment #7)
> You mean 'apachectl graceful' restarts httpd.
Yes, of course.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
as mentioned by Joe Orton, this bug is fixed in RHEL7, since systemd's reload is executing "httpd -k graceful".
This should be fixed for some time already in all supported Fedora versions.