On Thu, Mar 5, 2015 at 11:14 AM, Ruediger Pluem <[email protected]> wrote:
> I suspect that the worker was already set to error by a parallel thread / 
> process and hence
> PROXY_WORKER_IS_USABLE(worker) is false and causes worker->s->error_time to 
> be reset which causes the worker to be open
> for retry immediately. This has been the case since r104624
> (http://svn.apache.org/viewvc?view=revision&revision=r104624) 10,5 years ago 
> and the commit messages offers no hint at
> least to be why we reset these values.
> Can anybody think of a good reason why we do this?

that sequence sounds plausible

> Another question is if we shouldn't do
>
> worker->s->error_time = apr_time_now();
>
> also in case the worker is already in error state to restart the retry clock 
> as we just faced an error with connecting
> to the backend.

Isn't this already handled by the thread that put the worker in error
during the race? If there's no race, we already have this line of code
for the main path.

Reply via email to