Threads Stuck In Busy/sleep Loop In UCP While Retrieving Connection From Pool After High Load
(Doc ID 2225582.1)
Last updated on MAY 16, 2019
Applies to:Universal Connection Pool - Version 220.127.116.11.0 and later
Information in this document applies to any platform.
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.
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