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

coderzc pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 360a2163a34b1e7b6319f6d50f87bb8a095b2ec5
Author: Matteo Merli <[email protected]>
AuthorDate: Fri May 1 06:09:54 2026 -0700

    [fix][test] Fix flaky testGetExcludedBookiesWithIsolationGroups (#25640)
---
 .../rackawareness/IsolatedBookieEnsemblePlacementPolicyTest.java   | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git 
a/pulsar-broker-common/src/test/java/org/apache/pulsar/bookie/rackawareness/IsolatedBookieEnsemblePlacementPolicyTest.java
 
b/pulsar-broker-common/src/test/java/org/apache/pulsar/bookie/rackawareness/IsolatedBookieEnsemblePlacementPolicyTest.java
index 936b04386ff..0dc996c7d7d 100644
--- 
a/pulsar-broker-common/src/test/java/org/apache/pulsar/bookie/rackawareness/IsolatedBookieEnsemblePlacementPolicyTest.java
+++ 
b/pulsar-broker-common/src/test/java/org/apache/pulsar/bookie/rackawareness/IsolatedBookieEnsemblePlacementPolicyTest.java
@@ -751,6 +751,13 @@ public class IsolatedBookieEnsemblePlacementPolicyTest {
                 NullStatsLogger.INSTANCE, 
BookieSocketAddress.LEGACY_BOOKIEID_RESOLVER);
         isolationPolicy.onClusterChanged(writableBookies, readOnlyBookies);
 
+        // Wait for the async cache load triggered by initialize() to 
complete; otherwise
+        // getExcludedBookiesWithIsolationGroups returns an empty set when 
cachedRackConfiguration
+        // is still null. Same pattern used in testBookieInfoChange (#25473).
+        Awaitility.await().atMost(Duration.ofSeconds(5)).untilAsserted(() ->
+                assertNotNull(isolationPolicy.getBookieMappingCache()
+                        
.getIfCached(BookieRackAffinityMapping.BOOKIE_INFO_ROOT_PATH)));
+
         /* Test common cases */
         MutablePair<Set<String>, Set<String>> groups = new MutablePair<>();
         groups.setLeft(Sets.newHashSet(isolationGroup1));

Reply via email to