users@glassfish.java.net

Re: Problems with Glassfish <-> Apache mod_proxy_ajp

From: Kristian Rink <kawazu_at_zimmer428.net>
Date: Tue, 26 Aug 2008 09:21:37 +0200

Hi there;


glassfish_at_javadesktop.org schrieb:
> Dear Glassfish Community,
>
> we are using glassfish v2ur2 in combination with Apache 2.2 and
> mod_proxy_ajp on our production server. At least once per week, the
> communication between apache and glassfish seems to come to a halt.

I am by no means an AJP expert (actually we have replaced mod_jk/AJP a while
ago because of issues more or less similar to that, let aside being tied to
an AJP enabled backend which doesn't work for all our systems...), so just a
few ideas on that:


- Generally, have a look at [1]; it seems the

[...]
> Aug 25 13:57:56 2008] [error] ajp_read_header: ajp_ilink_receive failed
[...]

is not something special to your installment but an issue one or the other
did already stumble across. Along with this, the thread in my opinion
provides a few hints on proxy configuration parameters I'd play with, like
"ping", "ttl", maybe also "timeout" considering the error...

[...]
> 127.0.0.1:8009 (localhost) [Mon Aug 25 14:01:22 2008] [error]
> (110)Connection timed out: proxy: AJP: attempt to connect to
> 127.0.0.1:8009 (localhost) failed [Mon Aug 25 14:01:22 2008] [error]
> ap_proxy_connect_backend disabling worker for (localhost)


- Generally, what does happen in there? Could it be processing proxied
requests really just takes too long so a timeout is being hit and the proxy
eventually might consider its backend in some critical state?


> Sometimes restarting apache helps to solve the problem, sometimes both
> apache and glassfish need to be restarted.

We hit a situation similar to that in our environment after switching to
apache 2.2.x as frontend/reverse proxy (in a situation in which our backend
development glassfish domain got restarted once again). Using a ProxyPass
configuration along with retry=0 did resolve this (for mod_proxy_http
though, not sure whether this also works with mod_proxy_ajp). If restarting
glassfish also is required, I'd surely have a look at glassfish in these
situations, eventually checking whether here something peculiar might be
goin' on (any long-running servlet threads got stuck)?

Cheers & good luck,
Kristian

-- 
Kristian Rink
cell    :  +49 176 2447 2771
business: http://www.planconnect.de
personal: http://pictorial.zimmer428.net
"we command the system. calling all recievers.
we are noisy people for a better living".
(covenant - "monochrome")
> BTW, the glassfish stacktrace does not show any busy threads, and there
> definitely is no garbage collection problem.
[1] http://markmail.org/message/dtsayepddxb2wd4c