My Oracle Support Banner

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 later
Information 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


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.