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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3160b76fb62 [fix][test] fix flaky testSplitBundleAdminApi (#21019)
3160b76fb62 is described below

commit 3160b76fb6223012b366bdfe81d0ad7e25000cf1
Author: Heesung Sohn <[email protected]>
AuthorDate: Fri Aug 18 06:26:52 2023 -0700

    [fix][test] fix flaky testSplitBundleAdminApi (#21019)
---
 .../loadbalance/ExtensibleLoadManagerTest.java     | 24 ++++++++++++++--------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git 
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
 
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
index 057039edc3b..9f6c5e58a21 100644
--- 
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
+++ 
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
@@ -38,6 +38,7 @@ import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import lombok.extern.slf4j.Slf4j;
@@ -53,6 +54,7 @@ import org.apache.pulsar.tests.TestRetrySupport;
 import org.apache.pulsar.tests.integration.containers.BrokerContainer;
 import org.apache.pulsar.tests.integration.topologies.PulsarCluster;
 import org.apache.pulsar.tests.integration.topologies.PulsarClusterSpec;
+import org.awaitility.Awaitility;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
@@ -207,17 +209,21 @@ public class ExtensibleLoadManagerTest extends 
TestRetrySupport {
         var bundleRanges = 
bundles.getBoundaries().stream().map(Long::decode).sorted().toList();
         String firstBundle = bundleRanges.get(0) + "_" + bundleRanges.get(1);
         admin.namespaces().splitNamespaceBundle(DEFAULT_NAMESPACE, 
firstBundle, true, null);
-        BundlesData bundlesData = 
admin.namespaces().getBundles(DEFAULT_NAMESPACE);
-
         long mid = bundleRanges.get(0) + (bundleRanges.get(1) - 
bundleRanges.get(0)) / 2;
+        Awaitility.waitAtMost(10, TimeUnit.SECONDS).pollDelay(100, 
TimeUnit.MILLISECONDS)
+                .untilAsserted(
+                () -> {
+                    BundlesData bundlesData = 
admin.namespaces().getBundles(DEFAULT_NAMESPACE);
+                    assertEquals(bundlesData.getNumBundles(), numBundles + 1);
+                    String lowBundle = String.format("0x%08x", 
bundleRanges.get(0));
+                    String midBundle = String.format("0x%08x", mid);
+                    String highBundle = String.format("0x%08x", 
bundleRanges.get(1));
+                    
assertTrue(bundlesData.getBoundaries().contains(lowBundle));
+                    
assertTrue(bundlesData.getBoundaries().contains(midBundle));
+                    
assertTrue(bundlesData.getBoundaries().contains(highBundle));
+                }
+        );
 
-        assertEquals(bundlesData.getNumBundles(), numBundles + 1);
-        String lowBundle = String.format("0x%08x", bundleRanges.get(0));
-        String midBundle = String.format("0x%08x", mid);
-        String highBundle = String.format("0x%08x", bundleRanges.get(1));
-        assertTrue(bundlesData.getBoundaries().contains(lowBundle));
-        assertTrue(bundlesData.getBoundaries().contains(midBundle));
-        assertTrue(bundlesData.getBoundaries().contains(highBundle));
 
         // Test split bundle with invalid bundle range.
         try {

Reply via email to