Threads Stuck In Busy/sleep Loop In UCP While Retrieving Connection From Pool After High Load
(Doc ID 2225582.1)
Last updated on MAY 25, 2023
Applies to:
Universal Connection Pool - Version 12.1.0.2.0 and laterInformation in this document applies to any platform.
Symptoms
After the input load subsides, application's threads are "stuck" in busy/sleep loops within UCP code while attempting to retrieve a connection from the UCP pool.
After restarting the application, UCP returns to a "normal" state and can retrieve connections successfully.
Specifically, the stack dump indicates that the threads are stuck in a loop in LinkedListPool$1.reserveNext
The threads never return from this loop, and never throw any exceptions (e.g. a UniversalConnectionPoolException) .
In addition, while the threads are stuck, it is noticed that the UniversalConnectionPoolMBean for the pool reports an unexpected, extremely high availableConnectionsCount, even when the maxPoolSize = 50 which limits the amount.
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 |