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

rpuch 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 3d501b49cd2 IGNITE-26657 Don't fail node due to absent recipient in 
DisasterRecoveryManager (#6754)
3d501b49cd2 is described below

commit 3d501b49cd2bf1b671904a116d103a4e882a3250
Author: Roman Puchkovskiy <[email protected]>
AuthorDate: Mon Oct 13 20:17:43 2025 +0400

    IGNITE-26657 Don't fail node due to absent recipient in 
DisasterRecoveryManager (#6754)
---
 ...overyControllerRestartPartitionsWithCleanupTest.java |  1 +
 .../disaster/ItHighAvailablePartitionsRecoveryTest.java |  1 -
 .../distributed/disaster/DisasterRecoveryManager.java   | 17 +++++++++++++++--
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git 
a/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/recovery/ItDisasterRecoveryControllerRestartPartitionsWithCleanupTest.java
 
b/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/recovery/ItDisasterRecoveryControllerRestartPartitionsWithCleanupTest.java
index 14943569d83..4a49031de4c 100644
--- 
a/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/recovery/ItDisasterRecoveryControllerRestartPartitionsWithCleanupTest.java
+++ 
b/modules/rest/src/integrationTest/java/org/apache/ignite/internal/rest/recovery/ItDisasterRecoveryControllerRestartPartitionsWithCleanupTest.java
@@ -161,6 +161,7 @@ public class 
ItDisasterRecoveryControllerRestartPartitionsWithCleanupTest extend
     }
 
     @Test
+    @Disabled("https://issues.apache.org/jira/browse/IGNITE-26638";)
     public void testRestartSpecifiedPartitionsWithCleanup() {
         Set<String> nodeName = Set.of(CLUSTER.aliveNode().name());
 
diff --git 
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
 
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
index 71d4ceefb30..234ed90c073 100644
--- 
a/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
+++ 
b/modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java
@@ -320,7 +320,6 @@ public class ItHighAvailablePartitionsRecoveryTest extends 
AbstractHighAvailable
     }
 
     @Test
-    @Disabled("https://issues.apache.org/jira/browse/IGNITE-26657";)
     void testRebalanceInHaZone() throws InterruptedException {
         createHaZoneWithTable();
 
diff --git 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
index cf18db038f0..28387e86cf2 100644
--- 
a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
+++ 
b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java
@@ -98,7 +98,9 @@ import org.apache.ignite.internal.metrics.MetricManager;
 import org.apache.ignite.internal.network.InternalClusterNode;
 import org.apache.ignite.internal.network.MessagingService;
 import org.apache.ignite.internal.network.NetworkMessage;
+import org.apache.ignite.internal.network.RecipientLeftException;
 import org.apache.ignite.internal.network.TopologyService;
+import org.apache.ignite.internal.network.UnresolvableConsistentIdException;
 import 
org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager;
 import 
org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup;
 import 
org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessagesFactory;
@@ -1279,7 +1281,12 @@ public class DisasterRecoveryManager implements 
IgniteComponent, SystemViewProvi
                             copyStateTo(operationFuture).accept(res, ex);
 
                             if (ex != null) {
-                                if (!hasCause(ex, 
NodeStoppingException.class)) {
+                                if (!hasCause(
+                                        ex,
+                                        NodeStoppingException.class,
+                                        
UnresolvableConsistentIdException.class,
+                                        RecipientLeftException.class
+                                )) {
                                     failureManager.process(new 
FailureContext(ex, "Unable to handle disaster recovery request."));
                                 }
                             }
@@ -1295,7 +1302,13 @@ public class DisasterRecoveryManager implements 
IgniteComponent, SystemViewProvi
                             }
 
                             if (ex != null) {
-                                if (!hasCause(ex, NodeStoppingException.class, 
NotEnoughAliveNodesException.class)) {
+                                if (!hasCause(
+                                        ex,
+                                        NodeStoppingException.class,
+                                        
UnresolvableConsistentIdException.class,
+                                        RecipientLeftException.class,
+                                        NotEnoughAliveNodesException.class
+                                )) {
                                     failureManager.process(new 
FailureContext(ex, "Unable to handle disaster recovery request."));
                                 }
                             }

Reply via email to