This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 888077b253d HDDS-15737. Fix intermittent failure in 
balancerShouldOnlySelectConfiguredIncludeContainers (#10660)
888077b253d is described below

commit 888077b253dfddf50db0f2b369a8bbbd186ca49a
Author: Chi-Hsuan Huang <[email protected]>
AuthorDate: Sat Jul 4 19:08:24 2026 +0800

    HDDS-15737. Fix intermittent failure in 
balancerShouldOnlySelectConfiguredIncludeContainers (#10660)
---
 .../balancer/TestContainerBalancerDatanodeNodeLimit.java         | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/balancer/TestContainerBalancerDatanodeNodeLimit.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/balancer/TestContainerBalancerDatanodeNodeLimit.java
index 391648c2e77..ebaf245505f 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/balancer/TestContainerBalancerDatanodeNodeLimit.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/balancer/TestContainerBalancerDatanodeNodeLimit.java
@@ -465,9 +465,16 @@ public void 
balancerShouldNotSelectConfiguredExcludeContainers(@Nonnull MockedSC
   @MethodSource("createMockedSCMs")
   public void balancerShouldOnlySelectConfiguredIncludeContainers(@Nonnull 
MockedSCM mockedSCM) {
     ContainerBalancerConfiguration config = new 
ContainerBalancerConfigBuilder(mockedSCM.getNodeCount()).build();
-    config.setIncludeContainers("1, 4, 5");
 
+    // The cluster layout is random, so a hardcoded include list may contain 
no movable container.
+    // Run the balancer once without restrictions to find a container that is 
movable in this layout;
+    // including it guarantees the restricted run below selects at least one 
container.
     ContainerBalancerTask task = mockedSCM.startBalancerTask(config);
+    Set<ContainerID> movedContainers = task.getContainerToSourceMap().keySet();
+    assertThat(movedContainers).isNotEmpty();
+    
config.setIncludeContainers(String.valueOf(movedContainers.iterator().next().getId()));
+
+    task = mockedSCM.startBalancerTask(config);
 
     Set<ContainerID> includeContainers = config.getIncludeContainers();
     assertThat(task.getContainerToSourceMap()).isNotEmpty();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to