Hello, We're using Jetty 8.1.3.v20120416 w/ JDBCSessionManager as our application server with Tomcat 7's JDBC Connection pool 7.0.28. We've run this particular combination in production since at least Sept 2012. (Java 6 64 bit/Ubuntu, Amazon RDS/MySQL db.)
This morning one Jetty instance stopped accepting requests and the problem appears to be a deadlock btw a jetty connection handler thread and the conn pool's "PoolCleaner" thread. From jstack trace: Deadlock Detection: Found one Java-level deadlock: ============================= "qtp1840392480-3740": waiting to lock Monitor@0x00007f4350001fd0 (Object@0x00000006c01a0e88, a com/mysql/jdbc/JDBC4Connection), which is held by "PoolCleaner[2009981184:1363034108768]" "PoolCleaner[2009981184:1363034108768]": waiting to lock Monitor@0x00007f4350001f28 (Object@0x00000006c1ed5738, a com/mysql/jdbc/JDBC4ResultSet), which is held by "qtp1840392480-3740" Once this happened all other worker threads blocked at various points within JDBCSession manager. Obviously restarting the instance resolved the issue for now. How does one go about diagnosing / resolving such an issue? It's not clear to me if either component is "at fault" here...I have the full jstack output as well as a full heap dump of the java process, if that would help. Regards, Colin