On Tue, Aug 31, 2010 at 9:40 AM, "Plüm, Rüdiger, VF-Group" < ruediger.pl...@vodafone.com> wrote:
> A 400 does not mean that the backend is not available. > agreed > It just means that > a bad request was sent. > I don't like that part ;) Maybe mod_proxy mangled what got sent (sent too much body on prior request?). In addition to what is directly delivered from the backend > the proxy code itself uses 500 and 503 to signal the balancer code that the > error > it faced (in case there was no response code from the backend for whatever > reason) > was recoverable (503) or not (500) > > Regards > > Rüdiger > > ------------------------------ > *From:* Jeff Trawick [mailto:traw...@gmail.com] > *Sent:* Dienstag, 31. August 2010 15:26 > *To:* dev@httpd.apache.org > *Subject:* errors that cause proxy to move worker to error state > > It looks like this is just 500 and 503. > > Why not 400, for example? > > if (access_status == OK) > break; > else if (access_status == HTTP_INTERNAL_SERVER_ERROR) { > /* Unrecoverable server error. > * We can not failover to another worker. > * Mark the worker as unusable if member of load balancer > */ > if (balancer) { > worker->s->status |= PROXY_WORKER_IN_ERROR; > worker->s->error_time = apr_time_now(); > } > break; > } > else if (access_status == HTTP_SERVICE_UNAVAILABLE) { > /* Recoverable server error. > * We can failover to another worker > * Mark the worker as unusable if member of load balancer > */ > if (balancer) { > worker->s->status |= PROXY_WORKER_IN_ERROR; > worker->s->error_time = apr_time_now(); > } > } > else { > /* Unrecoverable error. > * Return the origin status code to the client. > */ > break; > } > > -- Born in Roswell... married an alien...