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 <rainer.j...@kippdata.de>
> 
>>> 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: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to