diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerConfiguration.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerConfiguration.java index c2843730cd57..2902d6962eca 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerConfiguration.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/diskbalancer/DiskBalancerConfiguration.java @@ -347,7 +347,7 @@ private static Set parseMovableContainerStates(String raw) { + "Valid names are: " + Arrays.toString(State.values()), ex); } - if (HddsUtils.isOpenToWriteState(state) || state == State.DELETED) { + if (HddsUtils.isOpenToWriteState(state) || state == State.CLOSING || state == State.DELETED) { throw new IllegalArgumentException("State " + name + " is not movable."); } states.add(State.valueOf(name)); diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/diskbalancer/TestDiskBalancerService.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/diskbalancer/TestDiskBalancerService.java index dfe36493e5e2..425733cb9e27 100644 --- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/diskbalancer/TestDiskBalancerService.java +++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/diskbalancer/TestDiskBalancerService.java @@ -520,8 +520,8 @@ private static Stream movableContainerStatesCases() { new HashSet<>(Arrays.asList(State.CLOSED, State.QUASI_CLOSED)), null), Arguments.of(" QUASI_CLOSED ", true, new HashSet<>(Arrays.asList(State.QUASI_CLOSED)), null), - Arguments.of("CLOSING,CLOSED", true, - new HashSet<>(Arrays.asList(State.CLOSING, State.CLOSED)), null), + Arguments.of("CLOSING,CLOSED", false, new HashSet<>(Arrays. + asList(State.CLOSING, State.CLOSED)), "State CLOSING is not movable"), Arguments.of(" QUASI_CLOSED,CLOSED ", true, new HashSet<>(Arrays.asList(State.CLOSED, State.QUASI_CLOSED)), null), Arguments.of(" QUASI_CLOSED , CLOSED ", true,