diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRebalanceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRebalanceTest.java index 61144f4159813..273a8cfb06efc 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRebalanceTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalRebalanceTest.java @@ -338,6 +338,13 @@ public void testWithLocalWalChange() throws Exception { awaitPartitionMapExchange(); + // Wait for rebalance to complete on all nodes (don't enforce success — it may switch to full rebalance). + for (Ignite ig : G.allGrids()) { + assertTrue(GridTestUtils.waitForCondition( + () -> ((IgniteEx)ig).cachex(CACHE_NAME).context().preloader().rebalanceFuture().isDone(), + getTestTimeout())); + } + Set topVers = ((WalRebalanceCheckingCommunicationSpi)ignite.configuration().getCommunicationSpi()) .walRebalanceVersions(grpId); @@ -364,6 +371,13 @@ else if (k % 3 == 1) // Spread removes across all partitions. awaitPartitionMapExchange(); + // Wait for rebalance to complete on all nodes (don't enforce success — it may switch to full rebalance). + for (Ignite ig : G.allGrids()) { + assertTrue(GridTestUtils.waitForCondition( + () -> ((IgniteEx)ig).cachex(CACHE_NAME).context().preloader().rebalanceFuture().isDone(), + getTestTimeout())); + } + topVers = ((WalRebalanceCheckingCommunicationSpi)ignite.configuration().getCommunicationSpi()) .walRebalanceVersions(grpId);