Project: Tomcat
Bug 53367 Database failure may cause pool to hang
Reported: 2012-06-06 01:01:10 | Status: resolved fixed

during the con.connect(); call in the method protected PooledConnection borrowConnection(long now, PooledConnection con, String username, String password) in ConnectionPool.java There is no counting down the size of the pool. This means, if a connection failure happens here, the pool size remains the same. This means that 'size' will show the pool as full, but in reality the pool is empty

Files changed in fix:
modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java