Commit 97041d5e authored by William A. Rowe Jr's avatar William A. Rowe Jr
Browse files

mod_proxy_balancer: Add failontimeout parameter. Timeout will put worker

in error state if an IO timeout is detected.

Backports: r1465839
Submitted by: druggeri
Reviewed by: druggeri, wrowe, rjung



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1497423 13f79535-47bb-0310-9956-ffa450edef68
parent b7d304f5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -24,6 +24,10 @@ Changes with Apache 2.2.25
  *) mod_dav: Ensure URI is correctly uriencoded on return. PR 54611
     [Timothy Wood <tjw omnigroup.com>]

  *) Added balancer parameter failontimeout to allow server admin
     to configure an IO timeout as an error in the balancer.
     [Daniel Ruggeri]

Changes with Apache 2.2.24

  *) SECURITY: CVE-2012-3499 (cve.mitre.org)
+0 −9
Original line number Diff line number Diff line
@@ -114,15 +114,6 @@ RELEASE SHOWSTOPPERS:
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]
  
  * mod_proxy_balancer: Add failontimeout parameter. Timeout will put worker
    in error state if an IO timeout is detected.
    trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1465839
    2.4.x patch: http://svn.apache.org/viewvc?view=revision&revision=1476689
    2.2.x patch: http://people.apache.org/~druggeri/patches/httpd-2.2.x-failontimeout.patch
    +1: druggeri, wrowe, rjung
    rjung: it would be nice to fix the indentation for the new
           ap_log_rerror(...) in modules/proxy/mod_proxy_balancer.c.

  * mod_dav: Make sure that when we prepare an If URL for Etag comparison,     
    we compare unencoded paths. PR 53910 [Timothy Wood <tjw omnigroup com>]
    trunk patch: http://svn.apache.org/r1470940
+7 −0
Original line number Diff line number Diff line
@@ -1005,6 +1005,13 @@ expressions</description>
        in the list. Worker recovery behaves the same as other worker errors.
        Available with Apache HTTP Server 2.2.17 and later.
    </td></tr>
    <tr><td>failontimeout</td>
        <td>Off</td>
        <td>If set, an IO read timeout after a request is sent to the backend will
        force the worker into error state. Worker recovery behaves the same as other
        worker errors.
        Available with Apache HTTP Server 2.2.25 and later.
    </td></tr>
    <tr><td>forcerecovery</td>
        <td>On</td>
        <td>Force the immediate recovery of all workers without considering the
+8 −0
Original line number Diff line number Diff line
@@ -387,6 +387,14 @@ static const char *set_balancer_param(proxy_server_conf *conf,
        }

    }
    else if (!strcasecmp(key, "failontimeout")) {
        if (!strcasecmp(val, "on"))
            balancer->failontimeout = 1;
        else if (!strcasecmp(val, "off"))
            balancer->failontimeout = 0;
        else
            return "failontimeout must be On|Off";
    }
    else if (!strcasecmp(key, "forcerecovery")) {
        if (!strcasecmp(val, "on"))
            balancer->forcerecovery = 1;
+1 −0
Original line number Diff line number Diff line
@@ -389,6 +389,7 @@ struct proxy_balancer {

    apr_array_header_t *errstatuses; /* statuses to force members into error */
    int forcerecovery; /* Force recovery if all workers are in error state */
    int failontimeout;          /* Whether to mark a member in Err if IO timeout occurs */
};

struct proxy_balancer_method {
Loading