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."));
}
}