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