Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-6987

BoneCP connections are not returned to the pool

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 4.5.2, 4.6.0
    • 4.5.1
    • None
    • None

    Description

      Summary

      After upgrading (or installing) Fisheye 4.5.1 and running it for some time, Fisheye becomes not responsive and a restart is required.

      This is caused by the unavailability of database connections in the pool.

      Expected Results

      Fisheye is always responsive.

      Actual Results

      There are no errors in the logs, the logs only contain references to repository indexes without any obvious slow down.

      Thread dumps will show a significant amount of thread waiting to get a connection from the pool:

      "qtp1663844181-121926" #121926 prio=5 os_prio=0 tid=0x00007fcce8135000 nid=0x146b waiting on condition [0x00007fcc795fd000]
         java.lang.Thread.State: TIMED_WAITING (parking)
              at sun.misc.Unsafe.park(Native Method)
              - parking to wait for  <0x0000000646b6d418> (a com.jolbox.bonecp.BoundedLinkedTransferQueue)
              at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
              at jsr166y.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:691)
              at jsr166y.LinkedTransferQueue.xfer(LinkedTransferQueue.java:600)
              at jsr166y.LinkedTransferQueue.poll(LinkedTransferQueue.java:1068)
              at com.jolbox.bonecp.BoundedLinkedTransferQueue.poll(BoundedLinkedTransferQueue.java:78)
              at com.jolbox.bonecp.BoneCP.getConnection(BoneCP.java:500)
              at com.cenqua.crucible.hibernate.trackingstatements.HibernateBonceCPConnectionProvider.getConnection(HibernateBonceCPConnectionProvider.java:171)
              at com.cenqua.crucible.hibernate.trackingstatements.TrackingStatementsConnectionProvider.getConnection(TrackingStatementsConnectionProvider.java:26)
              at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:301)
              at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)
              at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)
              at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
              at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
              at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1351)
              at com.cenqua.crucible.hibernate.SessionState.beginTx(SessionState.java:60)
              at com.cenqua.crucible.hibernate.HibernateUtil.beginTransaction(HibernateUtil.java:372)
      

      Workaround

      Not available

      Attachments

        Issue Links

          Activity

            People

              kcichy Kamil Cichy
              kcichy Kamil Cichy
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: