You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sk...@apache.org on 2025/06/19 09:01:19 UTC

(ignite-3) branch main updated: IGNITE-25708 Fix resetPartitions is broken with colocation enabled (#6073)

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

sk0x50 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 d6a67375653 IGNITE-25708 Fix resetPartitions is broken with colocation enabled (#6073)
d6a67375653 is described below

commit d6a67375653718d9c2cdbea731c8bf6149077e83
Author: Cyrill <cy...@gmail.com>
AuthorDate: Thu Jun 19 12:01:14 2025 +0300

    IGNITE-25708 Fix resetPartitions is broken with colocation enabled (#6073)
    
    Co-authored-by: Kirill Sizov <si...@gmail.com>
---
 .../recovery/partitions/restart/RestartPartitionsTest.java |  2 +-
 .../rest/api/recovery/GlobalPartitionStateResponse.java    |  4 ++++
 .../rest/api/recovery/LocalPartitionStateResponse.java     |  4 ++++
 .../internal/rest/recovery/DisasterRecoveryController.java | 14 ++++++++++++++
 4 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/recovery/partitions/restart/RestartPartitionsTest.java b/modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/recovery/partitions/restart/RestartPartitionsTest.java
index ae5e527acab..4450f859413 100644
--- a/modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/recovery/partitions/restart/RestartPartitionsTest.java
+++ b/modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/recovery/partitions/restart/RestartPartitionsTest.java
@@ -41,7 +41,7 @@ public class RestartPartitionsTest extends IgniteCliInterfaceTestBase {
 
     @BeforeAll
     public static void beforeAll() {
-        PARTITIONS_RESTART_ENDPOINT = colocationEnabled() ? "zone/partitions/restart" : "partitions/restart";
+        PARTITIONS_RESTART_ENDPOINT = "partitions/restart";
     }
 
     @Test
diff --git a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/GlobalPartitionStateResponse.java b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/GlobalPartitionStateResponse.java
index fe27df73be1..25752666826 100644
--- a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/GlobalPartitionStateResponse.java
+++ b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/GlobalPartitionStateResponse.java
@@ -21,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonGetter;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
 
 /**
  * Global partition state schema class.
@@ -29,8 +30,11 @@ import io.swagger.v3.oas.annotations.media.Schema;
 public class GlobalPartitionStateResponse {
     private final int partitionId;
     private final String zoneName;
+    @Schema(requiredMode = RequiredMode.NOT_REQUIRED)
     private final int tableId;
+    @Schema(requiredMode = RequiredMode.NOT_REQUIRED)
     private final String schemaName;
+    @Schema(requiredMode = RequiredMode.NOT_REQUIRED)
     private final String tableName;
     private final String state;
 
diff --git a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/LocalPartitionStateResponse.java b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/LocalPartitionStateResponse.java
index 48213c17331..77fe5162cbb 100644
--- a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/LocalPartitionStateResponse.java
+++ b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/LocalPartitionStateResponse.java
@@ -21,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonGetter;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
 
 /**
  * Local partition state schema class.
@@ -29,8 +30,11 @@ import io.swagger.v3.oas.annotations.media.Schema;
 public class LocalPartitionStateResponse {
     private final int partitionId;
     private final String zoneName;
+    @Schema(requiredMode = RequiredMode.NOT_REQUIRED)
     private final int tableId;
+    @Schema(requiredMode = RequiredMode.NOT_REQUIRED)
     private final String schemaName;
+    @Schema(requiredMode = RequiredMode.NOT_REQUIRED)
     private final String tableName;
     private final String nodeName;
     private final String state;
diff --git a/modules/rest/src/main/java/org/apache/ignite/internal/rest/recovery/DisasterRecoveryController.java b/modules/rest/src/main/java/org/apache/ignite/internal/rest/recovery/DisasterRecoveryController.java
index b33c23c51a3..5659df9b3fc 100644
--- a/modules/rest/src/main/java/org/apache/ignite/internal/rest/recovery/DisasterRecoveryController.java
+++ b/modules/rest/src/main/java/org/apache/ignite/internal/rest/recovery/DisasterRecoveryController.java
@@ -146,6 +146,13 @@ public class DisasterRecoveryController implements DisasterRecoveryApi, Resource
 
     @Override
     public CompletableFuture<Void> resetPartitions(@Body ResetPartitionsRequest command) {
+        if (nodeProperties.colocationEnabled()) {
+            return resetZonePartitions(new ResetZonePartitionsRequest(
+                    command.zoneName(),
+                    command.partitionIds()
+            ));
+        }
+
         QualifiedName tableName = QualifiedName.parse(command.tableName());
         return disasterRecoveryManager.resetTablePartitions(
                 command.zoneName(),
@@ -157,6 +164,13 @@ public class DisasterRecoveryController implements DisasterRecoveryApi, Resource
 
     @Override
     public CompletableFuture<Void> restartPartitions(@Body RestartPartitionsRequest command) {
+        if (nodeProperties.colocationEnabled()) {
+            return restartZonePartitions(new RestartZonePartitionsRequest(
+                    command.nodeNames(),
+                    command.zoneName(),
+                    command.partitionIds()
+            ));
+        }
         QualifiedName tableName = QualifiedName.parse(command.tableName());
         return disasterRecoveryManager.restartTablePartitions(
                 command.nodeNames(),