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

sanpwc pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new bf956b733e1 IGNITE-26327 Fix testDestroyPartitionStoragesOnEvictNode 
and timeouts (#6573)
bf956b733e1 is described below

commit bf956b733e1603b56e92e7cb84a2e2115aa35882
Author: Cyrill <cyrill.si...@gmail.com>
AuthorDate: Wed Sep 17 12:17:38 2025 +0300

    IGNITE-26327 Fix testDestroyPartitionStoragesOnEvictNode and timeouts 
(#6573)
---
 .../ignite/internal/rebalance/ItRebalanceDistributedTest.java  | 10 ++++++----
 .../ignite/internal/replicator/ZonePartitionReplicaImpl.java   |  8 ++++++--
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
 
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
index 00eed3de3e0..9418e41262f 100644
--- 
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
+++ 
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
@@ -64,7 +64,6 @@ import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.not;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -1878,12 +1877,15 @@ public class ItRebalanceDistributedTest extends 
BaseIgniteAbstractTest {
         return ((TableViewInternal) table).internalTable();
     }
 
-    private static void checkInvokeDestroyedPartitionStorages(Node node, 
String tableName, int partitionId) {
+    private static void checkInvokeDestroyedPartitionStorages(Node node, 
String tableName, int partitionId) throws Exception {
         InternalTable internalTable = getInternalTable(node, tableName);
 
         if (colocationEnabled()) {
-            // Assert that zone tx state storage was removed.
-            
assertNull(node.partitionReplicaLifecycleManager.txStatePartitionStorage(internalTable.zoneId(),
 partitionId));
+            // Assert that zone tx state storage was removed. Wait for the 
async destroy operation to complete.
+            assertTrue(waitForCondition(
+                    () -> 
node.partitionReplicaLifecycleManager.txStatePartitionStorage(internalTable.zoneId(),
 partitionId) == null,
+                    AWAIT_TIMEOUT_MILLIS
+            ), "Zone tx state storage was not destroyed within timeout");
         } else {
             verify(internalTable.storage(), 
timeout(AWAIT_TIMEOUT_MILLIS).atLeast(1))
                     .destroyPartition(partitionId);
diff --git 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ZonePartitionReplicaImpl.java
 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ZonePartitionReplicaImpl.java
index 331ec86fcf3..a38711b752e 100644
--- 
a/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ZonePartitionReplicaImpl.java
+++ 
b/modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ZonePartitionReplicaImpl.java
@@ -17,6 +17,8 @@
 
 package org.apache.ignite.internal.replicator;
 
+import static 
org.apache.ignite.internal.util.CompletableFutures.nullCompletedFuture;
+
 import java.util.UUID;
 import java.util.concurrent.CompletableFuture;
 import org.apache.ignite.internal.network.NetworkMessage;
@@ -87,8 +89,10 @@ public class ZonePartitionReplicaImpl implements Replica {
     public CompletableFuture<Void> shutdown() {
         listener.onShutdown();
 
-        return raftClient.unsubscribeLeader()
-                .thenAccept(v -> raftClient.shutdown());
+        raftClient.unsubscribeLeader();
+        raftClient.shutdown();
+
+        return nullCompletedFuture();
     }
 
     @Override

Reply via email to