Connection Pool Exhaustion
A state in which every usable connection in a pool remains occupied and new work begins waiting for a connection.
When a connection pool is exhausted, adding application threads does not create database capacity; it usually creates more waiters. Long transactions, slow queries, an oversized concurrency level, or connections held longer than expected can all lead to the same symptom.
Increasing maximumPoolSize is not a diagnosis. Database concurrency, query service time, and request arrival rate have to be measured together. The boundary is discussed directly in Virtual Threads and the JDBC pool capacity limit and advanced HikariCP pool design.