From fe299622339016f824abb3a9970ded4cbc63fad8 Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Sat, 25 Apr 2020 19:28:12 +0900 Subject: [PATCH] When blocking initialization is specified, use a minimum of 16 connection creation threads. --- src/main/java/com/zaxxer/hikari/pool/HikariPool.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java index e5018114..ae6b902c 100644 --- a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java +++ b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java @@ -137,8 +137,8 @@ public final class HikariPool extends PoolBase implements HikariPoolMXBean, IBag this.houseKeeperTask = houseKeepingExecutorService.scheduleWithFixedDelay(new HouseKeeper(), 100L, housekeepingPeriodMs, MILLISECONDS); if (Boolean.getBoolean("com.zaxxer.hikari.blockUntilFilled") && config.getInitializationFailTimeout() > 1) { - addConnectionExecutor.setCorePoolSize(Runtime.getRuntime().availableProcessors()); - addConnectionExecutor.setMaximumPoolSize(Runtime.getRuntime().availableProcessors()); + addConnectionExecutor.setCorePoolSize(Math.min(16, Runtime.getRuntime().availableProcessors())); + addConnectionExecutor.setMaximumPoolSize(Math.min(16, Runtime.getRuntime().availableProcessors())); final long startTime = currentTime(); while (elapsedMillis(startTime) < config.getInitializationFailTimeout() && getTotalConnections() < config.getMinimumIdle()) {