You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Andrew Punch <an...@247realmedia.com> on 2011/01/25 02:17:36 UTC

[users@httpd] Graceful restarts and keepalives

Hi,

During the week I hit the situation described in 41743. A child process
is connected to a client using a keepalive connection. A graceful
restart (SIGUSR1) is issued. If the MaxKeepAliveRequests is high and the
client is chatty the child process will not exit until the client
disconnects.

This means that my module in the child process still has the old
configuration and old data file loaded in memory. I expected that the
child process would close the keepalive connection - preferably by
issuing a "connection: close" header in the next response.

This problem occurs on RHEL5 with Redhat's Apache 2.2.3 and
httpd.apache.org's Apache 2.2.17

Is this behaviour deliberate or is it a bug?

-Andrew


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Graceful restarts and keepalives

Posted by Eric Covener <co...@gmail.com>.
On Tue, Jan 25, 2011 at 2:44 AM, Andrew Punch
<an...@247realmedia.com> wrote:
> Hi,
>
> Thanks for the quick response. I notice that you have added a comment in bug
> 41743 saying it is a bug in prefork that does not affect worker. You have
> also stated that it is fixed in trunk.
>
> I have run a test using 2.3.10 alpha - the prefork still has the issue and
> the worker does not have the issue.
>
> I will test the svn trunk when I have a chance.
>
> Btw I have repro steps and a python test script - would you have any
> interest in those? I could attach them to your bug if they are any use.

Sorry, I only desk-checked the trunk issue -- I will remove that tag.
It's easy enough to just telnet in and restart.


-- 
Eric Covener
covener@gmail.com

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Graceful restarts and keepalives

Posted by Andrew Punch <an...@247realmedia.com>.
Hi,

Thanks for the quick response. I notice that you have added a comment in
bug 41743 saying it is a bug in prefork that does not affect worker. You
have also stated that it is fixed in trunk.

I have run a test using 2.3.10 alpha - the prefork still has the issue
and the worker does not have the issue.

I will test the svn trunk when I have a chance.

Btw I have repro steps and a python test script - would you have any
interest in those? I could attach them to your bug if they are any use.

-Andrew


On Tue, 2011-01-25 at 02:12 +0000, Eric Covener wrote:

> On Mon, Jan 24, 2011 at 8:17 PM, Andrew Punch
> <an...@247realmedia.com> wrote:
> > Hi,
> >
> > During the week I hit the situation described in 41743. A child process
> > is connected to a client using a keepalive connection. A graceful
> > restart (SIGUSR1) is issued. If the MaxKeepAliveRequests is high and the
> > client is chatty the child process will not exit until the client
> > disconnects.
> >
> > This means that my module in the child process still has the old
> > configuration and old data file loaded in memory. I expected that the
> > child process would close the keepalive connection - preferably by
> > issuing a "connection: close" header in the next response.
> >
> > This problem occurs on RHEL5 with Redhat's Apache 2.2.3 and
> > httpd.apache.org's Apache 2.2.17
> >
> > Is this behaviour deliberate or is it a bug?
> 
> Looks like a difference between prefork and worker.
> 



Re: [users@httpd] Graceful restarts and keepalives

Posted by Eric Covener <co...@gmail.com>.
On Mon, Jan 24, 2011 at 8:17 PM, Andrew Punch
<an...@247realmedia.com> wrote:
> Hi,
>
> During the week I hit the situation described in 41743. A child process
> is connected to a client using a keepalive connection. A graceful
> restart (SIGUSR1) is issued. If the MaxKeepAliveRequests is high and the
> client is chatty the child process will not exit until the client
> disconnects.
>
> This means that my module in the child process still has the old
> configuration and old data file loaded in memory. I expected that the
> child process would close the keepalive connection - preferably by
> issuing a "connection: close" header in the next response.
>
> This problem occurs on RHEL5 with Redhat's Apache 2.2.3 and
> httpd.apache.org's Apache 2.2.17
>
> Is this behaviour deliberate or is it a bug?

Looks like a difference between prefork and worker.

-- 
Eric Covener
covener@gmail.com

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org