From bc6939a8e20b7c16b80a7527ced24123418871fe Mon Sep 17 00:00:00 2001 From: Dennis Kieselhorst Date: Tue, 29 Oct 2024 21:48:38 +0100 Subject: [PATCH 1/2] add shutdownTimeout to log message --- .../boot/jdbc/HikariCheckpointRestoreLifecycle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java index 40585e4885d1..fe9e99d943ac 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java @@ -115,7 +115,7 @@ public void stop() { private void closeConnections(Duration shutdownTimeout) { logger.info("Evicting Hikari connections"); this.dataSource.getHikariPoolMXBean().softEvictConnections(); - logger.debug("Waiting for Hikari connections to be closed"); + logger.debug(LogMessage.format("Waiting %s for Hikari connections to be closed", shutdownTimeout)); CompletableFuture allConnectionsClosed = CompletableFuture.runAsync(this::waitForConnectionsToClose); try { allConnectionsClosed.get(shutdownTimeout.toMillis(), TimeUnit.MILLISECONDS); From 7b3a0b1dc25ed0f8d32e610ab9a450b5b683a126 Mon Sep 17 00:00:00 2001 From: Dennis Kieselhorst Date: Wed, 30 Oct 2024 08:54:16 +0100 Subject: [PATCH 2/2] add warning for !allow-pool-suspension as new connections will be created in this case (#42906) --- .../boot/jdbc/HikariCheckpointRestoreLifecycle.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java index fe9e99d943ac..2e06f13564bf 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/HikariCheckpointRestoreLifecycle.java @@ -109,6 +109,11 @@ public void stop() { logger.info("Suspending Hikari pool"); this.dataSource.getHikariPoolMXBean().suspendPool(); } + else { + logger.warn(this.dataSource + " is not configured to allow pool suspension. " + + "This will cause problems when the application is checkpointed. " + + "Please configure allow-pool-suspension to fix this!"); + } closeConnections(Duration.ofMillis(this.dataSource.getConnectionTimeout() + 250)); }