httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [Bug 54517] New: proxy balancer: timeout or partial failure of backend worker does not result in error state (with patch)
Date Fri, 01 Feb 2013 15:47:24 GMT

            Bug ID: 54517
           Summary: proxy balancer: timeout or partial failure of backend
                    worker does not result in error state (with patch)
           Product: Apache httpd-2
           Version: 2.2.23
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_proxy_balancer
    Classification: Unclassified

Created attachment 29914
A patch to provide failonbadgateway setting and functionality to the
mod_proxy_balancer.  Based off of r1438130 of


We have a setup for a semi-busy site using mod_proxy_balancer together with
sticky sessions and keepalives to map clients to various backends.

In one odd case, one backend would accept connections, but some local IO was
broken (of course in the middle of the night), so it would continuously timeout
until someone kicked it.  The timeout is setup ridiculously high for edge case
application reasons, so that wasn't the issue.

I was suprised to learn that the balancer did not mark that node as in error
state so that it backed off of it.

Basically it was the partial failure, but not complete failure that was the
problem.  Had there been a complete failure, the connection checks would have
marked the node in error state, and had the node returned a status line (or
really anything) the failonstatus configuration could have possibly caught it.

Instead, since we were using byrequests at the time, the node handled fewer and
fewer requests and was selected more and more over time to service new

Instead, I propose the following patch.  It provides a "failonbadgateway"
option that will mark a node as in error state if the handler returns a
HTTP_BAD_GATEWAY response (in looking through the various modules this seems
like a reasonable way to consolidate the case of timeouts as well as other
backend worker protocol violations across several modules, and not just the
mod_proxy_http one).

Please let me know if you have any comments or questions.


You are receiving this mail because:
You are the assignee for the bug.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message