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));
