Re: AJP connector connectionTimeOut

2010-11-15 Thread Mark Thomas
On 15/11/2010 20:30, Luke Meyer wrote:
 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=6 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?
The BIO connector doesn't complain due to how properties are handled
internally. The NIO and APR/native connector will log warnings.

 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.
AJP connections are intended to persistent.

 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?
Maybe. The configuration is via XML and XML is case sensitive. Seems
like stating the obvious to me. Also, not sure where such a statement
should be put. As always, patches welcome...

 Bonus question: should any/all of these be considered bugs?
1. No. Valid configuration properties are correctly documented. It may
be possible to enhance the BIO connector to log a warning.

2. No. This is by design.

3. No.

1 and 3 are possible enhancement requests. Enhancement requests should
be entered in Bugzilla. Enhancement requests that include patches are
more likely to get applied.

Mark

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



RE: AJP connector connectionTimeOut

2010-11-15 Thread Luke Meyer
 The BIO connector doesn't complain due to how properties are handled 
 internally. The NIO and APR/native connector will log warnings.

OK, good to know. I noticed the default HTTP connector also doesn't warn about 
bogus properties. Hadn't checked the rest.

 AJP connections are intended to persistent.

Sure, but is it really going to hurt performance if they're dropped after a few 
minutes of inactivity by default?

 1 and 3 are possible enhancement requests. Enhancement requests should be 
 entered in Bugzilla. Enhancement requests that include patches are
more likely to get applied.

Roger that, thanks for the quick response.
-Luke

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