Not 100% sure, whether this is part of the problem, but the changelog
contains:
Changes with Apache 2.2.10
*) Allow for smax to be 0 for balancer members so that all idle
connections are able to be dropped should they exceed ttl.
PR 43371 [Phil Endecott <spam_from_apache_bugzilla chezphil.org>,
Jim Jagielski]
Since mod_proxy_ajp and mod_proxy_balancer are rapidly improving,
seriously try the latest (2.2.11).
Regards,
Rainer
On 06.05.2009 14:41, Arne Riecken wrote:
> I need to either close the ajp connections or send keepalive messages
> because there is a firewall with a timeout of 1h between the mod_proxy_ajp
> (Apache 2.2.9) and the JBoss Server with ajp connector and
>
> <Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"
>
> cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
>
> transactionManagerObjectName="jboss:service=TransactionManager" />
>
> in server.xml.
>
> Setting
>
> BalancerMember ajp://hostname status=-H ping=3 smax=0 ttl=600
>
> did not help, even setting disablereuse did not help. After 1h idle time the
> connections are broken. A restart of the Apache solves the problem. Apache
> error log:
>
> [Wed May 06 08:45:20 2009] [error] (70007)The timeout specified has expired:
> ajp_ilink_receive() can't receive hea
> der
> [Wed May 06 08:45:20 2009] [error] ajp_read_header: ajp_ilink_receive failed
> [Wed May 06 08:45:20 2009] [error] (120006)APR does not understand this
> error code: proxy: read response failed from x.x.x.x:8009 (x.x.x.x)
>
>
> 2009/4/27 Rainer Jung <[email protected]>
>
>>> Because I use mpm-prefork as mentioned, default smax=max=1. Does it make
>>> sense to set smax to 0 to get a ttl for the one and only connection?
>> I would say "yes, it does make sense."
>>
>>> So
>>> "zero connections will be created on demand"? Is it bad not to have a ttl
>>> for the one and only connection? When will that connection be closed
>> without
>>> ttl? When Tomcat connectionTimeout triggers?
>> Yes, but then you rely on httpd to correctly detect the closed
>> connection. Usually you do that via activating cping/cpong. I would use
>> a ttl value as a kind of double safety net.
>>
>> Whether closing idle connections or not is also related to
>>
>> - what kind of connection pool is the backend using (relation to backend
>> threads, and how precious your thread resources are)
>>
>> - are there other systems influencing idle connections between the web
>> server and the backend (like a firewall dropping idle connections)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]