Deadlock On oracle.jdbc.pool.OracleImplicitConnectionCache And oracle.jdbc.pool.OraclePooledConnection
(Doc ID 2769911.1)
Last updated on JANUARY 08, 2025
Applies to:
JDBC - Version 19.7 and laterInformation in this document applies to any platform.
Symptoms
An application using JDBC 19.7 reports the following deadlock:
Found one Java-level deadlock:
=============================
"http-nio-80-exec-1-74ae29b3-363c-4652-a511-bd0b6eccc61c-StartTime:2021-03-31 18:24:26.515 CDT":
waiting to lock monitor 0x00007f1e3400fb80 (object 0x0000000086ff2718, a oracle.jdbc.pool.OracleImplicitConnectionCache),
which is held by "http-nio-80-exec-7-adf7cbb7-9e95-4bbc-aca5-dc93e4f7d240-StartTime:2021-03-31 18:24:25.382 CDT"
"http-nio-80-exec-7-adf7cbb7-9e95-4bbc-aca5-dc93e4f7d240-StartTime:2021-03-31 18:24:25.382 CDT":
waiting to lock monitor 0x00007f1e70050780 (object 0x0000000090753440, a oracle.jdbc.pool.OraclePooledConnection),
which is held by "http-nio-80-exec-9-5be0c740-78eb-4d1d-8f6b-2c94dc32b529-StartTime:2021-03-31 18:24:25.390 CDT"
"http-nio-80-exec-9-5be0c740-78eb-4d1d-8f6b-2c94dc32b529-StartTime:2021-03-31 18:24:25.390 CDT":
waiting to lock monitor 0x00007f1e3400fb80 (object 0x0000000086ff2718, a oracle.jdbc.pool.OracleImplicitConnectionCache),
which is held by "http-nio-80-exec-7-adf7cbb7-9e95-4bbc-aca5-dc93e4f7d240-StartTime:2021-03-31 18:24:25.382 CDT"
Java stack information for the threads listed above:
===================================================
"http-nio-80-exec-1-74ae29b3-363c-4652-a511-bd0b6eccc61c-StartTime:2021-03-31 18:24:26.515 CDT":
at oracle.jdbc.pool.OracleImplicitConnectionCache.retrieveCacheConnection(OracleImplicitConnectionCache.java:565)
- waiting to lock <0x0000000086ff2718> (a oracle.jdbc.pool.OracleImplicitConnectionCache)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:473)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:363)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:558)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:230)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:212)
...
"http-nio-80-exec-7-adf7cbb7-9e95-4bbc-aca5-dc93e4f7d240-StartTime:2021-03-31 18:24:25.382 CDT":
at oracle.jdbc.pool.OraclePooledConnection.setLastAccessedTime(OraclePooledConnection.java:380)
- waiting to lock <0x0000000090753440> (a oracle.jdbc.pool.OraclePooledConnection)
at oracle.jdbc.pool.OracleImplicitConnectionCache.storeCacheConnection(OracleImplicitConnectionCache.java:1446)
- locked <0x0000000086ff2718> (a oracle.jdbc.pool.OracleImplicitConnectionCache)
at oracle.jdbc.pool.OracleImplicitConnectionCache.reusePooledConnection(OracleImplicitConnectionCache.java:1705)
- locked <0x0000000086ff2718> (a oracle.jdbc.pool.OracleImplicitConnectionCache)
at oracle.jdbc.pool.OracleConnectionCacheEventListener.connectionClosed(OracleConnectionCacheEventListener.java:74)
at oracle.jdbc.pool.OraclePooledConnection.callImplicitCacheListener(OraclePooledConnection.java:545)
at oracle.jdbc.pool.OraclePooledConnection.logicalCloseForImplicitConnectionCache(OraclePooledConnection.java:464)
at oracle.jdbc.pool.OraclePooledConnection.logicalClose(OraclePooledConnection.java:485)
at oracle.jdbc.driver.LogicalConnection.closeInternal(LogicalConnection.java:308)
at oracle.jdbc.driver.LogicalConnection.close(LogicalConnection.java:269)
- locked <0x000000012c5c2d88> (a oracle.jdbc.driver.LogicalConnection)
...
"http-nio-80-exec-9-5be0c740-78eb-4d1d-8f6b-2c94dc32b529-StartTime:2021-03-31 18:24:25.390 CDT":
at oracle.jdbc.pool.OracleImplicitConnectionCache.reusePooledConnection(OracleImplicitConnectionCache.java:1690)
- waiting to lock <0x0000000086ff2718> (a oracle.jdbc.pool.OracleImplicitConnectionCache)
at oracle.jdbc.pool.OracleConnectionCacheEventListener.connectionClosed(OracleConnectionCacheEventListener.java:74)
at oracle.jdbc.pool.OraclePooledConnection.callImplicitCacheListener(OraclePooledConnection.java:545)
at oracle.jdbc.pool.OraclePooledConnection.logicalCloseForImplicitConnectionCache(OraclePooledConnection.java:464)
at oracle.jdbc.pool.OraclePooledConnection.logicalClose(OraclePooledConnection.java:485)
at oracle.jdbc.driver.LogicalConnection.closeInternal(LogicalConnection.java:308)
at oracle.jdbc.pool.OraclePooledConnection.getConnection(OraclePooledConnection.java:294)
- locked <0x0000000090753440> (a oracle.jdbc.pool.OraclePooledConnection)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:412)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:558)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:230)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:212)
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |