Description of problem:
Running rickshaw in production with default config settings, the
server will appear to hang if many (well more than 3 or 4) people are
using it. There was no significant load on the app server or database,
nor any messages in the logs. We eventually tracked it down to their
being only 10 DB connections allocated, while resin was configured to
have upto 150 requests. Since we increased db pool to 150 the problems
went away. We suspect that the slow running 'category deletion' option
was responsible for triggering the problem because it can tie up a DB
connection for many, many minutes at a time.
The PooledConnectionSource should print out a log4j WARN level message
if it has to put a thread into the 'wait()' call due to lack of DB
connections. This will allow the administrator to more easily diagnose
their scaling problems.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Set DB pool to 10
2. Get lots of people using the server, on slow running pages - eg
deleting a bunch of categories.
Requests hang / take much longer than normal, even though machine has
Warning message in logs about lack of DB connections.
Created attachment 97703 [details]
Closing old tickets