Uploaded image for project: 'iBatis for Java [READ ONLY]'
  1. iBatis for Java [READ ONLY]
  2. IBATIS-496

TransactionManager.begin() calls Throttle.increment() which stalls after about 10 days

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.2.0
    • None
    • Core
    • 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

          Activity

            People

              Unassigned Unassigned
              ksilz Karsten Silz
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: