  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Connections are not rejected (AJP 1.3) (Was: Re: Problem with backlog (AJP 1 | Connections are not rejected (AJP 1.3) (Was: Re: Problem with backlog (AJP 1 2007-01-17 - By Marcin Zajczkowski
Back Marcin Zaj?czkowski wrote: (...) > Tracking down one problem I tried to get 503 error by reduction number > of parallel connections to Tomcat (Apache - mod_jk - (JBoss) - Tomcat) > to 10 (MaxThreads) and backlog to 1 (also tried with 10). > > Regarding to documentation for backlog: "Any requests received when the > queue is full will be refused". Unfortunately I wasn't able to get that > effect (connection waits until served) using prepared action which waits > for several seconds.
After review of source code I know that backlog isn't made internally by Tomcat, but is forwarded to listen() method in OS.
When maxThreads value is reached one more request hangs in a ThreadPool, but strange for me is that next requests pass through mod_jk which connect to and send it to Tomcat:
[debug] jk_open_socket::jk_connect.c (433): trying to connect socket 20 to 127.0.0.1:8009 [debug] jk_open_socket::jk_connect.c (459): socket 20 connected to 127.0.0.1:8009 [debug] ajp_connect_to_endpoint::jk_ajp_common.c (847): Connected socket 20 to (127.0.0.1:8009) [debug] ajp_connection_tcp_send_message::jk_ajp_common.c (893): sending to ajp13 pos=4 len=570 max=8192
I don't see any signs of those request in Tomcat log until some threads are freed (even after several minutes) and this request first waits in a ThreadPool and later is served by Tomcat.
I have DEBUG logs enabled for: org.apache.tomcat org.apache.coyote org.apache.jk org.apache.ajp (something else could be useful?)
servel.xml: <Connector port="8009" address="${jboss.bind.address}" emptySessionPath="true" enableLookups="false" redirectPort="8443" maxThreads="10" acceptCount="1" connectionTimeout="5000" backlog="1" protocol="AJP/1.3"/>
Could somebody tell me why connections are accepted at a Tomcat/Jboss side?
> Is is possible to get 503 in described circumstances?
And why clients are received timeout (in spite of up 20 minutes delay)?
> I use JBoss 4.0.3SP1 with Tomcat 5.5 and Apache 2.2.3 with mod_jk > 1.2.20. Fedora Core 6.
Thanks for help Marcin
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To start a new topic, e-mail: users@(protected) To unsubscribe, e-mail: users-unsubscribe@(protected) For additional commands, e-mail: users-help@(protected)
|
|
 |