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 <[email protected]>
AuthorDate: Thu Jun 19 12:01:14 2025 +0300

    IGNITE-25708 Fix resetPartitions is broken with colocation enabled (#6073)
    
    Co-authored-by: Kirill Sizov <[email protected]>
---
 .../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(),

Reply via email to