Hang When Closing Connection With Abandon Timeout Callbacks

(Doc ID 375641.1)

Last updated on AUGUST 16, 2016

Applies to:

JDBC - Version and later
Information in this document applies to any platform.


- An application is using JDBC thin driver to access a database server.
- The implicit connection cache is created to get a JDBC connection with the abandon timeout functionality.
- The  JDBC application consists of several threads doing the following  :
   - getConnection from the cache
    - treatment
    - close () the connection

A hang  occured when  a thread  is getting a connection from the implicit cache and  another thread  in the abandon timeout  callback is closing a connection.

It hangs with the following  java stack trace :

at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:451)@0x7aa0bc22
at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:341)@0x7aa0b7e9
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:404)@0x7aa0b6b6
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:189)@0x7aa0b624
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:165)@0x7aa0b3ce
at uk.co.autotrader.jdbc.oracle.OracleConnectionPoolImpl.getConnection(OracleConnectionPoolImpl.java:128)@0x7aa09a6b


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