JDBC Connection Pool Leak causing Connections to Grow to MaxConnections in WebLogic Server 10.3.2 due to JTA Transaction Timeout Expiration
(Doc ID 1088983.1)
Last updated on NOVEMBER 08, 2022
Applies to:
Oracle WebLogic Server - Version 10.3.2 to 10.3.2Information in this document applies to any platform.
Symptoms
A JDBC connection pool leak was found in WebLogic Server 10.3.2 causing connections to grow to MaxConnections due to JTA Transaction Timeout Expiration.
When using an EJB in transactional mode or any kind of JTA transaction-based logic that involves using JDBC connections recovered from a Datasource, if the business operations executed by the EJB/Client are longer than the JTA timeout, the transaction timeout exception causes the JDBC connection to be leaked and not returned to the pool.
At the next database access in the XA transaction will fail and the connection is lost and never returned to the connection pool, causing the pool "in use" connections to grow.
This behavior has been validated in load test or benchmarks, or when the JTA timeout has been made shorter than the application transaction using time.
Below is a snippet of the stack trace in WLS logs at the time of issue:
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 |