httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Devi Krishna" <devkrish.webeng...@gmail.com>
Subject Re: Regarding graceful restart
Date Fri, 09 Feb 2007 01:15:46 GMT
Hi,

 Resending this mail, just in case anyone would have suggestions/inputs as
how to fix this for connections that are in the ESTABLISHED state or FIN
state or any other TCP state other than LISTEN

Thanks & Regards
Devi

On 2/5/07, Devi Krishna <devkrish.webengine@gmail.com> wrote:
>
> Hi Apache Gurus,
>
>  I am seeing the following issue when I sent a graceful restart signal to
> httpd [run with proxy enabled]
>
>  Processes on receiving SIGUSR1 seems to send a GET / HTTP/1.0 to the
> httpd
> itself.
>  This seems to be a dummy request that each process is trying to send
>
> 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284
> 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284
> 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284
> 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284
> 127.0.0.1 [05/Feb/2007:13:35:25 +0000] "GET / HTTP/1.0" 400 284
>
>
> Wondering if this is a known issue, and if there is any solution for it.
>
> I saw recent bug report regarding strange behaviour of mod_ssl on graceful
> restart, but in my case, I dont have mod_ssl enabled.
>
> Initially I saw this issue even when processes are in LISTEN state and
> sigusr1 is sent.
> I put in the following fix and that worked.
>
> File : httpd/server/mpm/prefork/prefork.c
> Function :child_main
>
>     +   if (ap_mpm_pod_check(pod) == APR_SUCCESS) { /* selected as idle?
> */
>     +      ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
>     +          "Dont process connection as graceful restart received from
> pod");
>     +     break;
>     +  }
>     +   if (die_now)  {
>     +       ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
>     +            "Dont process connection as graceful restart received");
>     +       break;
>      + }
>
>        current_conn = ap_run_create_connection(ptrans, ap_server_conf,
> csd,
> my_child_num, sbh, bucket_alloc);
>        if (current_conn) {
>            ap_process_connection(current_conn, csd);
>            ap_lingering_close(current_conn);
>        }
>
>
> However, for connections in ESTABLISHED state and other TCP states,  I
> still
> see this issue.
>
> Your inputs would be of great help!
>
> Thanks & Regards
> Devi
>

Mime
View raw message