httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <rpl...@apache.org>
Subject Re: proxy_ajp connect timeout fix.
Date Thu, 09 Oct 2008 08:26:59 GMT


On 10/08/2008 10:55 PM, Matt Stevenson wrote:
> Hi,
> 
> I've used mod_jk (1/2) for years. I've always had an issue when a backend server goes
down, not tomcat/jboss stopped
> but dead. Recently some people I work with have been using mod_proxy and mod_proxy_ajp.
This seems to have the same issue.
> 
> The code (proxy_util.c) assumes that apr_socket_timeout_set works for all connects. I
don't believe it does, not unless
> it is in non blocking mode. I wrote the code below for"ap_proxy_connect_backend" before
I looked deeper into the apr libs
> (sorry its not in diff format, and for the hard 2 sec timeout). The code seems to work
fine for linux (and probably other
> unix). I've basically redone the apr code in apr_wait_for_io_or_timeout (should have
dug deeper first).
> 
> Anyway the current release code doesn't seem to work for me for down boxes (to test point
an ajp proxy at a non existant
> IP on the network and a live server). I think if you put the socket in non-blocking mode
first and with a timeout apr will
> try to handle a connect timeout (I haven't had a chance to try), switch back to non blocking
after connect.

Exactly. This might be the only thing missing in ap_proxy_connect_backend: Setting the socket
to non blocking before
calling apr_socket_connect and setting it to blocking again afterwards.

Regards

RĂ¼diger


Mime
View raw message