{"record":{"id":"1f3889ac1622b139","repo":"hibernate/hibernate-orm","slug":"the-internal-connection-pool-has-reached-its-maxim","errorCode":null,"errorMessage":"The internal connection pool has reached its maximum size and no connection is currently available","messagePattern":"The internal connection pool has reached its maximum size and no connection is currently available","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/PooledConnections.java","lineNumber":102,"sourceCode":"\t\t\tt = ex;\n\t\t}\n\t\tcloseConnection( conn, t );\n\t\tCONNECTION_INFO_LOGGER.connectionReleaseFailedClosingPooledConnection( t );\n\t\treturn null;\n\t}\n\n\tConnection poll() {\n\t\tConnection conn;\n\t\tdo {\n\t\t\tconn = availableConnections.poll();\n\t\t\tif ( conn == null ) {\n\t\t\t\tsynchronized (allConnections) {\n\t\t\t\t\tif ( allConnections.size() < maxSize ) {\n\t\t\t\t\t\taddConnections( 1 );\n\t\t\t\t\t\treturn poll();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow new HibernateException(\n\t\t\t\t\t\t\"The internal connection pool has reached its maximum size and no connection is currently available\" );\n\t\t\t}\n\t\t\tconn = prepareConnection( conn );\n\t\t}\n\t\twhile ( conn == null );\n\t\treturn conn;\n\t}\n\n\tprotected Connection prepareConnection(Connection conn) {\n\t\tException t = null;\n\t\ttry {\n\t\t\tconn.setAutoCommit( autoCommit );\n\t\t\tif ( connectionValidator.isValid( conn ) ) {\n\t\t\t\treturn conn;\n\t\t\t}\n\t\t}\n\t\tcatch (SQLException ex) {\n\t\t\tt = ex;","sourceCodeStart":84,"sourceCodeEnd":120,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/PooledConnections.java#L84-L120","documentation":"Error \"The internal connection pool has reached its maximum size and no connection is currently available\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/PooledConnections.java:102 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Increase 'hibernate.connection.pool_size' or reduce concurrent connection usage","Ensure connections are returned/closed promptly so the pool is not exhausted","Use a real connection pool (HikariCP, c3p0, Agroal) for production workloads"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}