From: Rich Bowen Graceful Restart
Restart Now
Graceful Stop
Appendix: signals and race conditions
See also
rotatelogs
style piped logging. Multiple running
instances of rotatelogs
attempting to rotate the same
logfiles at the same time may destroy each other's logfiles.
Prior to Apache 1.2b9 there were several race - conditions involving the restart and die signals (a simply put, - a race condition is a time-sensitive problem - if something happens - at just the wrong time or things happen in the wrong order, - undesired behaviour will result. If the same thing happens at the right - time, all will be well). For those architectures that have the "right" - feature set we have eliminated as many as we can. But it should - be noted that race conditions do still exist on certain - architectures.
- -Architectures that use an on-disk ScoreBoardFile
can potentially have
- their scoreboards corrupted. This can result in the "bind:
- Address already in use" (after HUP
) or "long lost
- child came home!" (after USR1
). The former is a fatal
- error, while the latter just causes the server to lose a
- scoreboard slot. So it may be advisable to use graceful
- restarts, with an occasional hard restart. These problems are very
- difficult to work around, but fortunately most architectures do
- not require a scoreboard file. See the ScoreBoardFile
documentation for
- architecture which uses it.
All architectures have a small race condition in each child - involving the second and subsequent requests on a persistent - HTTP connection (KeepAlive). It may exit after reading the - request line but before reading any of the request headers. - There is a fix that was discovered too late to make 1.2. In - theory this isn't an issue because the KeepAlive client has to - expect these events because of network latencies and server - timeouts. In practice it doesn't seem to affect anything either - -- in a test case the server was restarted twenty times per - second and clients successfully browsed the site without - getting broken images or empty documents.
Available Languages: de | diff --git a/docs/manual/stopping.xml b/docs/manual/stopping.xml index 71822fd4870..814c89c770f 100644 --- a/docs/manual/stopping.xml +++ b/docs/manual/stopping.xml @@ -228,43 +228,4 @@ syntax error(s). logfiles at the same time may destroy each other's logfiles.
- -Prior to Apache 1.2b9 there were several race - conditions involving the restart and die signals (a simply put, - a race condition is a time-sensitive problem - if something happens - at just the wrong time or things happen in the wrong order, - undesired behaviour will result. If the same thing happens at the right - time, all will be well). For those architectures that have the "right" - feature set we have eliminated as many as we can. But it should - be noted that race conditions do still exist on certain - architectures.
- -Architectures that use an on-disk HUP
) or "long lost
- child came home!" (after USR1
). The former is a fatal
- error, while the latter just causes the server to lose a
- scoreboard slot. So it may be advisable to use graceful
- restarts, with an occasional hard restart. These problems are very
- difficult to work around, but fortunately most architectures do
- not require a scoreboard file. See the
All architectures have a small race condition in each child - involving the second and subsequent requests on a persistent - HTTP connection (KeepAlive). It may exit after reading the - request line but before reading any of the request headers. - There is a fix that was discovered too late to make 1.2. In - theory this isn't an issue because the KeepAlive client has to - expect these events because of network latencies and server - timeouts. In practice it doesn't seem to affect anything either - -- in a test case the server was restarted twenty times per - second and clients successfully browsed the site without - getting broken images or empty documents.
-