[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-httpd-dev
Subject:    Re: Unclean process shutdown in event MPM?
From:       Greg Ames <ames.greg () gmail ! com>
Date:       2010-04-29 19:46:45
Message-ID: v2xad8a87121004291246o7142e530k19dd3fc15303d81a () mail ! gmail ! com
[Download RAW message or body]

On Thu, Apr 29, 2010 at 12:06 PM, Greg Ames <ames.greg@gmail.com> wrote:

>
> The last time I checked, trunk had a related bug:
> https://issues.apache.org/bugzilla/show_bug.cgi?id=43359 .
>
> .  I will look at the patch again and forget mod_status bells and whistles
> for now.


OK, I reviewed this patch again.  It ought to take care of the 2.2.x issue
because it delays the complete listener thread termination until all the
connections are closed when it's one of the graceful process shutdown
scenarios.

The logic that sets SERVER_DEAD before we know if the worker thread(s) will
be doing useful work again caught my attention.  It might be bad because we
won't have any clues in the mod_status display about what that worker thread
is doing.  On the other hand, this process won't be accepting any more new
connections, and seeing SERVER_DEAD for these threads would allow
perform_idle_server_maintenance() to fork replacement processes sooner.  I
think I prefer to see SERVER_READY until the worker thread really exits.  I
don't think we need to worry too much about forking as quickly as possible
during a graceful process shutdown.  Other opinions?

Greg

[Attachment #3 (text/html)]

<br><br><div class="gmail_quote">On Thu, Apr 29, 2010 at 12:06 PM, Greg Ames <span \
dir="ltr">&lt;<a href="mailto:ames.greg@gmail.com">ames.greg@gmail.com</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, \
204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <br>The last time I checked, \
trunk had a related bug: <a \
href="https://issues.apache.org/bugzilla/show_bug.cgi?id=43359" \
target="_blank">https://issues.apache.org/bugzilla/show_bug.cgi?id=43359</a> . <br> \
<br>.  I will look at the patch again and forget mod_status bells and whistles for \
now.</blockquote></div><br>OK, I reviewed this patch again.  It ought to take care of \
the 2.2.x issue because it delays the complete listener thread termination until all \
the connections are closed when it&#39;s one of the graceful process shutdown \
scenarios.<br> <br>The logic that sets SERVER_DEAD before we know if the worker \
thread(s) will be doing useful work again caught my attention.  It might be bad \
because we won&#39;t have any clues in the mod_status display about what that worker \
thread is doing.  On the other hand, this process won&#39;t be accepting any more new \
connections, and seeing SERVER_DEAD for these threads would allow \
perform_idle_server_maintenance() to fork replacement processes sooner.  I think I \
prefer to see SERVER_READY until the worker thread really exits.  I don&#39;t think \
we need to worry too much about forking as quickly as possible during a graceful \
process shutdown.  Other opinions?<br> <br>Greg<br>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic