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): How reproducible: 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. 3. Actual results: Requests hang / take much longer than normal, even though machine has minimal load Expected results: Warning message in logs about lack of DB connections. Additional info:
Created attachment 97703 [details] Example patch
Closing old tickets