diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/StorageVolumeChecker.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/StorageVolumeChecker.java index 2f3871dfacc5..fe61a10d5940 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/StorageVolumeChecker.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/StorageVolumeChecker.java @@ -381,6 +381,7 @@ private void invokeCallback() { public void shutdownAndWait(int gracePeriod, TimeUnit timeUnit) { periodicDiskChecker.cancel(true); diskCheckerservice.shutdownNow(); + checkVolumeResultHandlerExecutorService.shutdownNow(); try { delegateChecker.shutdownAndWait(gracePeriod, timeUnit); } catch (InterruptedException e) { diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestStorageVolumeChecker.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestStorageVolumeChecker.java index 3708235de434..55b4c39b5dda 100644 --- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestStorageVolumeChecker.java +++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestStorageVolumeChecker.java @@ -175,6 +175,8 @@ public void testCheckOneVolume() throws Exception { if (result) { assertThat(numCallbackInvocations.get(), is(1L)); } + + checker.shutdownAndWait(0, TimeUnit.SECONDS); } /** @@ -207,6 +209,8 @@ public void testCheckAllVolumes() throws Exception { for (HddsVolume volume : volumes) { verify(volume, times(1)).check(anyObject()); } + + checker.shutdownAndWait(0, TimeUnit.SECONDS); }