Menu

#784 Thread lock up on getConnection()

v1.3
open
nobody
1
2023-10-05
2023-10-05
No

Any suggestion to what might cause the thread on tomcat to lock up ?
Anything we could be doing better ?

We call getConnection () - which leads to thread lock up - under fairly heavy use

private static javax.sql.DataSource ds;
ds = (javax.sql.DataSource) envContext.lookup("jdbc/databaseConfig");

[Thu Oct 05 17:52:24 2023] ThreadName: pool-3-thread-8
[Thu Oct 05 17:52:24 2023] ThreadState: TIMED_WAITING
[Thu Oct 05 17:52:24 2023] LockOwnerId: -1
[Thu Oct 05 17:52:24 2023] LockOwnerName: null
[Thu Oct 05 17:52:24 2023] LockName: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@72b8a995
[Thu Oct 05 17:52:24 2023] LockInfo: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@72b8a995

[Thu Oct 05 17:52:24 2023] Stack trace for pool-3-thread-8: 15.
[Thu Oct 05 17:52:24 2023] 0: sun.misc.Unsafe.park(Native Method)
[Thu Oct 05 17:52:24 2023] 0: sun.misc.Unsafe Unsafe.java -2 park true
[Thu Oct 05 17:52:24 2023] 1: java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)

[Thu Oct 05 17:52:24 2023] 1: java.util.concurrent.locks.LockSupport LockSupport.java 215 parkNanos false

[Thu Oct 05 17:52:24 2023] 2: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
[Thu Oct 05 17:52:24 2023] 2: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject AbstractQueuedSynchronizer.java 2078 awaitNanos false
[Thu Oct 05 17:52:24 2023] 3: org.apache.tomcat.dbcp.pool2.impl.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:508)
[Thu Oct 05 17:52:24 2023] 3: org.apache.tomcat.dbcp.pool2.impl.LinkedBlockingDeque LinkedBlockingDeque.java 508 pollFirst false
[Thu Oct 05 17:52:24 2023] 4: org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:411)
[Thu Oct 05 17:52:24 2023] 4: org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool GenericObjectPool.java 411 borrowObject false
[Thu Oct 05 17:52:24 2023] 5: org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:335)
[Thu Oct 05 17:52:24 2023] 5: org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool GenericObjectPool.java 335 borrowObject false
[Thu Oct 05 17:52:24 2023] 6: org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:117)
[Thu Oct 05 17:52:24 2023] 6: org.apache.tomcat.dbcp.dbcp2.PoolingDataSource PoolingDataSource.java 117 getConnection false
[Thu Oct 05 17:52:24 2023] 7: org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1195)
[Thu Oct 05 17:52:24 2023] 7: org.apache.tomcat.dbcp.dbcp2.BasicDataSource BasicDataSource.java 1195 getConnection false
[Thu Oct 05 17:52:24 2023] 8: called getConnection here on the ds object here

private static javax.sql.DataSource ds;
ds = (javax.sql.DataSource) envContext.lookup("jdbc/databaseConfig");

Discussion


Log in to post a comment.