My Oracle Support Banner

Deadlock On oracle.jdbc.pool.OracleImplicitConnectionCache And oracle.jdbc.pool.OraclePooledConnection (Doc ID 2769911.1)

Last updated on OCTOBER 31, 2022

Applies to:

JDBC - Version 19.7 and later
Information 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


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.