From 2eee2d6a79e38cf200b9de1fad7b563a7c2f5f0e Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Thu, 28 May 2026 07:32:28 +0200 Subject: [PATCH] HDDS-14645. Speed up TestBlockDeletingService --- .../hadoop/hdds/utils/BackgroundService.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/BackgroundService.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/BackgroundService.java index 144d1725fdb5..8730d9764060 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/BackgroundService.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/BackgroundService.java @@ -191,17 +191,21 @@ public void run() { } // shutdown and make sure all threads are properly released. - public synchronized void shutdown() { + public void shutdown() { LOG.info("Shutting down service {}", this.serviceName); - exec.shutdown(); + final ScheduledThreadPoolExecutor current; + synchronized (this) { + current = exec; + } + current.shutdown(); try { - if (!exec.awaitTermination(60, TimeUnit.SECONDS)) { - exec.shutdownNow(); + if (!current.awaitTermination(60, TimeUnit.SECONDS)) { + current.shutdownNow(); } } catch (InterruptedException e) { // Re-interrupt the thread while catching InterruptedException Thread.currentThread().interrupt(); - exec.shutdownNow(); + current.shutdownNow(); } if (threadGroup.activeCount() == 0 && !threadGroup.isDestroyed()) { threadGroup.destroy();