Configure Oracle UCP wait connection timeout #27744
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change adds support for configuring a connection wait timeout for the Oracle connector’s connection pool.
When all connections in the pool are borrowed, connection requests can fail with UCP-45064 during bursts of queries where connections would become available shortly after. This can cause otherwise healthy workloads to fail unnecessarily.
The new catalog property, oracle.connection-pool.wait-timeout, allows connection requests to wait for a free connection for a configurable amount of time. By setting a higher wait timeout, queries can be serviced during brief bursts of high concurrency instead of occasionally failing.
Additional context and related issues
This is particularly useful for bursty workloads with many short-running queries, where brief contention on the pool can lead to query failures despite sufficient database capacity and a high maximum connection pool size, because the pool cannot always scale fast enough to handle sudden bursts.
Release notes
( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
(X) Release notes are required, with the following suggested text: