After quite a bit of struggle, I think I found out what is going on.  The
problem is that the default configuration of Tomcat does not have enough
threads in its thread pool for the default configuration of Apache.  This
issue would only be apparent if many Apache children were in use.

The result was that any Apache children over the number of Tomcat threads
would hang waiting for Tomcat to respond to requests.  Tomcat would not
respond until threads became available, which could be quite a long time if
Apache children were not dying off (ie, because load was increasing during the
day).

I was wrong about the threads being stuck in readFully.  The real problem is
that not enough threads existed at all (ie, the thread handling socket accept
would be blocked).

The simplest workaround is to change the AJP13 connector to SimpleTcpConnector
rather than PoolTcpConnector in server.xml.

I strongly suggest that thread pool exhaustion emit a log message, since this
was quite difficult to track down.  Additionally, it would be better for the
default configuration to be more robust.

Bill



--- Marc Saegesser <[EMAIL PROTECTED]> wrote:
> I finally got some time to look at this and I think I can duplicate the
> problem your seeing.  Hopefully, its the problem your seeing, or else we
> have two serious problems.


__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

Reply via email to