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 1b6bb47767b HDDS-13310. Intermittent failure in 
TestContainerOperations (#8770)
1b6bb47767b is described below

commit 1b6bb47767b14885fb464432594328e386faf047
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Fri Aug 28 20:14:29 2026 +0200

    HDDS-13310. Intermittent failure in TestContainerOperations (#8770)
---
 .../hadoop/hdds/scm/TestContainerOperations.java   | 25 +++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
index d8e0bf108d6..1dfb1ddde0a 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/scm/TestContainerOperations.java
@@ -55,11 +55,14 @@
 import org.apache.hadoop.hdds.utils.IOUtils;
 import org.apache.hadoop.ozone.OzoneConsts;
 import org.apache.hadoop.ozone.container.ContainerTestHelper;
+import org.apache.ozone.test.GenericTestUtils;
 import org.apache.ozone.test.NonHATests;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * This class tests container operations (TODO currently only supports create)
@@ -68,6 +71,7 @@
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public abstract class TestContainerOperations implements NonHATests.TestCase {
 
+  private static final Logger LOG = 
LoggerFactory.getLogger(TestContainerOperations.class);
   private static final int CONTAINER_LIST_LIMIT = 1;
 
   private ScmClient storageClient;
@@ -193,12 +197,23 @@ public void testDatanodeUsageInfoContainerCount() throws 
Exception {
     List<? extends DatanodeDetails> dnList = nodeManager.getAllNodes();
 
     for (DatanodeDetails dn : dnList) {
-      List<HddsProtos.DatanodeUsageInfoProto> usageInfoList =
-              storageClient.getDatanodeUsageInfo(
-                      dn.getIpAddress(), dn.getUuidString());
+      GenericTestUtils.waitFor(() -> {
+        try {
+          List<HddsProtos.DatanodeUsageInfoProto> usageInfoList =
+              storageClient.getDatanodeUsageInfo(dn.getIpAddress(), 
dn.getUuidString());
 
-      assertEquals(1, usageInfoList.size());
-      assertEquals(nodeManager.getContainers(dn).size(), 
usageInfoList.get(0).getContainerCount());
+          assertEquals(1, usageInfoList.size());
+
+          long expected = nodeManager.getContainers(dn).size();
+          long actual = usageInfoList.get(0).getContainerCount();
+          LOG.info("Container count expected: {}, actual: {}, dn: {}", 
expected, actual, dn.getUuidString());
+
+          return expected == actual;
+        } catch (Exception e) {
+          LOG.info("Failed to get container count", e);
+          return false;
+        }
+      }, 1000, 30_000);
     }
   }
 


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

Reply via email to