You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/04/02 21:05:40 UTC
DO NOT REPLY [Bug 28167] New: -
Children don't close the main socket immediately on receipt of a graceful restart
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=28167>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=28167
Children don't close the main socket immediately on receipt of a graceful restart
Summary: Children don't close the main socket immediately on
receipt of a graceful restart
Product: Apache httpd-2.0
Version: 2.0.48
Platform: All
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: worker
AssignedTo: bugs@httpd.apache.org
ReportedBy: bp@thinkpink.com
If you're running Apache behind a load balancer, an effective way to stop Apache
gracefully is to change the listen port to something else (say 81) and
gracefully restart. Long-lived downloads will continue (making modem users
happy) but new connections will (in theory) be refused, allowing your load
balancer to pick another box immediately. After all connections finish or time
out, Apache will stop.
That's the theory.
In practice, the child processes fail to close the main socket after receiving a
graceful restart -- they keep the main socket open as well as the worker sockets
that are actually doing the work.
The fix that I'm trying is to close all the listeners' sockets when the listener
thread exits. This seems to work, but I need to do some more testing before
submitting diffs.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org