While acquiring connection from WLS data-source threads hang in statement.close() (Doc ID 1362587.1)

Last updated on DECEMBER 24, 2013

Applies to:

Oracle WebLogic Server - Version 10.3.4 to 10.3.5
Information in this document applies to any platform.
****Checked for revelance Dec 24th, 2013 ****

For Weblogic Server versions 10.3.4 and onwards, sporadic performance issues are observed while acquiring a connection from the WLS data-source.


Symptoms

Initial debugging steps include taking 8-10 thread dumps at an interval of 8-10 seconds each. Following the same it is observed that threads are hung in a statement.close().

For example:

"[STUCK] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x0000002bb1b7d000 nid=0x448d waiting for monitor entry [0x0000000042848000]
java.lang.Thread.State: BLOCKED (on object monitor)
at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:1788)
- waiting to lock <0x0000002adcaf19f0> (a oracle.jdbc.driver.T4CConnection)
at oracle.jdbc.driver.OracleStatementWrapper.close(OracleStatementWrapper.java:83)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.close(OraclePreparedStatementWrapper.java:80)
at weblogic.jdbc.common.internal.ConnectionEnv.initializeTest(ConnectionEnv.java:940)
at weblogic.jdbc.common.internal.ConnectionEnv.destroyForFlush(ConnectionEnv.java:529)
- locked <0x0000002adccc09c0> (a weblogic.jdbc.common.internal.ConnectionEnv)
at weblogic.jdbc.common.internal.ConnectionEnv.destroy(ConnectionEnv.java:507)
- locked <0x0000002adccc09c0> (a weblogic.jdbc.common.internal.ConnectionEnv)
at weblogic.common.resourcepool.ResourcePoolImpl.destroyResource(ResourcePoolImpl.java:1802)
at weblogic.common.resourcepool.ResourcePoolImpl.access$500(ResourcePoolImpl.java:41)
at weblogic.common.resourcepool.ResourcePoolImpl$Group.killAllConnectionsBeingTested(ResourcePoolImpl.java:2399)
- locked <0x0000002ade030530> (a java.util.TreeSet)
at weblogic.common.resourcepool.ResourcePoolImpl$Group.destroyIdleResources(ResourcePoolImpl.java:2267)
- locked <0x0000002adccc0770> (a weblogic.jdbc.common.internal.GenericConnectionPool)
at weblogic.common.resourcepool.ResourcePoolImpl$Group.checkHang(ResourcePoolImpl.java:2475)
at weblogic.common.resourcepool.ResourcePoolImpl$Group.access$100(ResourcePoolImpl.java:2210)
at weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1677)
at weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1662)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1268)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1166)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:450)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:342)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:419)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:324)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:94)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:63)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1677)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1445)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:446)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:403)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:364)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms