Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
2.2.0
-
None
-
None
-
OpenSuse Linux 10, JDK 1.4, MySQL 4.1, Tomat 5.0.28
Description
We have a web application running on Tomcat, using the Commons JDBC connection pool and iBatis 2.2. Our app uses a single "SqlMapClient" instance for all our database access.
Now what happens is that after 7-10 days, the application doesn't have any database connections anymore, and users typically notice because the login screen hangs forever. At first we thought we're running out of MySQL connections, but then we did a Tomcat stack trace dump and found tens of threads, all stuck in the same method:
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at com.ibatis.common.util.Throttle.increment(Throttle.java:70)
- locked <0x5a26fca8> (a java.lang.Object)
at com.ibatis.sqlmap.engine.transaction.TransactionManager.begin(TransactionManager.java:54)
at com.ibatis.sqlmap.engine.transaction.TransactionManager.begin(TransactionManager.java:39)
Attachments
Issue Links
- relates to
-
IBATIS-249 Race conditions in Throttle lead to thread blockage popping items from ThrottledPools under stress
-
- Closed
-