Error "All connections in the Universal Connection Pool are in use" with IBM WebSphere (Doc ID 1488778.1)

Last updated on AUGUST 03, 2016

Applies to:

Universal Connection Pool - Version 11.2.0.1.0 and later
Information in this document applies to any platform.

Symptoms

An application using Oracle Universal Connection Pool (UCP) on IBM WebSphere fails to get a connection from the pool after a fixed number of connections has been obtained. This number of connections is equal to the maximum number of connections that can be held open in the pool. That is, JDBC connections may be closed by the application, but are not released back to the pool. The problem arises when the connections are made on individual requests by a client of the application; when many connections are opened and closed within the same client request, the problem is not seen. The problem only arises when using XA-capable connections, whether or not any transaction is explicitly created. Increasing the maximum number of connections that can be held open by UCP may delay the onset of the problem, but does not prevent it.

The WebSphere log shows the following exception trace:

java.sql.SQLException: Exception occurred while getting connection: oracle.ucp.UniversalConnectionPoolException: All connections in the Universal Connection Pool are in useDSRA0010E: SQL State = null, Error Code = 29
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:488)
at oracle.ucp.util.UCPErrorHandler.throwSQLException(UCPErrorHandler.java:163)
at oracle.ucp.jdbc.PoolXADataSourceImpl.getXAConnection(PoolXADataSourceImpl.java:235)
at oracle.ucp.jdbc.PoolXADataSourceImpl.getXAConnection(PoolXADataSourceImpl.java:149)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource$2.run(WSRdbDataSource.java:2372)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)

//...

Caused by: oracle.ucp.UniversalConnectionPoolException: All connections in the Universal Connection Pool are in use
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:368)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:49)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:80)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:131)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionWithoutCountingRequests(UniversalConnectionPoolImpl.java:279)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:142)
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:157)
at oracle.ucp.jdbc.PoolXADataSourceImpl.getXAConnection(PoolXADataSourceImpl.java:221)

The problem has been seen on WebSphere 7.0.23, but other versions may be affected.

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