mod_proxy: Don't put non balancer-member workers in error state by

default for connection or 500/503 errors, and honor status=+I for
any error.  PR 48388.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1650028 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yann Ylavic
2015-01-07 10:36:12 +00:00
parent 9bbde1f6e6
commit 1f6fd365c3
4 changed files with 16 additions and 4 deletions

View File

@ -633,7 +633,8 @@ static int proxy_balancer_post_request(proxy_worker *worker,
return HTTP_INTERNAL_SERVER_ERROR;
}
if (!apr_is_empty_array(balancer->errstatuses)) {
if (!apr_is_empty_array(balancer->errstatuses)
&& !(worker->s->status & PROXY_WORKER_IGNORE_ERRORS)) {
int i;
for (i = 0; i < balancer->errstatuses->nelts; i++) {
int val = ((int *)balancer->errstatuses->elts)[i];
@ -652,6 +653,7 @@ static int proxy_balancer_post_request(proxy_worker *worker,
}
if (balancer->failontimeout
&& !(worker->s->status & PROXY_WORKER_IGNORE_ERRORS)
&& (apr_table_get(r->notes, "proxy_timedout")) != NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(02460)
"%s: Forcing worker (%s) into error state "