Tomcat 6.0.29, HotSpot 1.6.0_21 on CentOS 5.

I had a problem recently where someone configured a standard AJP connector like 
this:
<Connector port="8009" connectionTimeOut="60000" acceptCount="100" 
maxThreads="250" protocol="AJP/1.3" />

See the typo? "connectionTimeOut" should be "connectionTimeout". Normally 
Tomcat complains when you have bogus properties, e.g.:

WARNING org.apache.tomcat.util.digester.SetPropertiesRule.begin 
[SetPropertiesRule]{Server/Listener} Setting property 'aasdfhgakjs' to '1' did 
not find a matching property.

But for connectors, it's silently ignored. And for an AJP connector, with no 
connectionTimeout set, the default is never to timeout. Which might not be a 
problem usually, but a firewall was randomly dropping connections and the 
threads holding a connection were sitting there waiting forever. Eventually the 
thread pool would run out and the server stopped responding to AJP requests.

Three questions:
1) Why doesn't Tomcat complain about setting bogus connector properties?
2) Why is the default connectionTimeout (and thus keepaliveTimeout) on an AJP 
connector "forever"? Combined with (1) this seems like an accident waiting to 
happen.
3) AFAICS none of the docs on tomcat.apache.org mention that properties are 
case-sensitive. I guess it's kind of obvious, but... shouldn't it be stated 
somewhere?

Bonus question: should any/all of these be considered bugs?
-Luke

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to