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

apkhmv 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 180bd84a7c8 IGNITE-26081 Assign unique REST API tags (#7869)
180bd84a7c8 is described below

commit 180bd84a7c8cc0da1438ca8a4fb47e6b31f52bc8
Author: Vadim Pakhnushev <[email protected]>
AuthorDate: Thu Apr 2 19:21:45 2026 +0300

    IGNITE-26081 Assign unique REST API tags (#7869)
---
 .../cli/call/recovery/cluster/MigrateToClusterCall.java |  4 ++--
 .../cli/call/recovery/cluster/ResetClusterCall.java     |  4 ++--
 .../cli/call/recovery/reset/ResetPartitionsCall.java    |  4 ++--
 .../call/recovery/restart/RestartPartitionsCall.java    |  6 ++++--
 .../cli/call/recovery/states/PartitionStatesCall.java   |  8 ++++----
 .../internal/rest/api/recovery/DisasterRecoveryApi.java | 17 ++++++++++++++---
 .../api/recovery/system/SystemDisasterRecoveryApi.java  |  5 +++--
 .../ignite/internal/rest/api/zone/DataNodesApi.java     |  3 +++
 .../disaster/system/SystemDisasterRecoveryClient.java   |  6 +++---
 9 files changed, 37 insertions(+), 20 deletions(-)

diff --git 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/MigrateToClusterCall.java
 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/MigrateToClusterCall.java
index 1f2b56a489f..af66c513e05 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/MigrateToClusterCall.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/MigrateToClusterCall.java
@@ -24,7 +24,7 @@ import 
org.apache.ignite.internal.cli.core.call.DefaultCallOutput;
 import org.apache.ignite.internal.cli.core.exception.IgniteCliApiException;
 import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
 import org.apache.ignite.rest.client.api.ClusterManagementApi;
-import org.apache.ignite.rest.client.api.RecoveryApi;
+import org.apache.ignite.rest.client.api.SystemDisasterRecoveryApi;
 import org.apache.ignite.rest.client.invoker.ApiException;
 import org.apache.ignite.rest.client.model.ClusterState;
 import org.apache.ignite.rest.client.model.MigrateRequest;
@@ -41,7 +41,7 @@ public class MigrateToClusterCall implements 
Call<MigrateToClusterCallInput, Str
     @Override
     public DefaultCallOutput<String> execute(MigrateToClusterCallInput input) {
         ClusterManagementApi newClusterManagementClient = new 
ClusterManagementApi(clientFactory.getClient(input.newClusterUrl()));
-        RecoveryApi oldRecoveryClient = new 
RecoveryApi(clientFactory.getClient(input.oldClusterUrl()));
+        SystemDisasterRecoveryApi oldRecoveryClient = new 
SystemDisasterRecoveryApi(clientFactory.getClient(input.oldClusterUrl()));
 
         ClusterState newClusterState;
         try {
diff --git 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/ResetClusterCall.java
 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/ResetClusterCall.java
index c8d7da5e90c..ffcad52ae2c 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/ResetClusterCall.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/cluster/ResetClusterCall.java
@@ -23,7 +23,7 @@ import org.apache.ignite.internal.cli.core.call.Call;
 import org.apache.ignite.internal.cli.core.call.DefaultCallOutput;
 import org.apache.ignite.internal.cli.core.exception.IgniteCliApiException;
 import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
-import org.apache.ignite.rest.client.api.RecoveryApi;
+import org.apache.ignite.rest.client.api.SystemDisasterRecoveryApi;
 import org.apache.ignite.rest.client.invoker.ApiException;
 import org.apache.ignite.rest.client.model.ResetClusterRequest;
 
@@ -38,7 +38,7 @@ public class ResetClusterCall implements 
Call<ResetClusterCallInput, String> {
 
     @Override
     public DefaultCallOutput<String> execute(ResetClusterCallInput input) {
-        RecoveryApi client = new 
RecoveryApi(clientFactory.getClient(input.clusterUrl()));
+        SystemDisasterRecoveryApi client = new 
SystemDisasterRecoveryApi(clientFactory.getClient(input.clusterUrl()));
 
         ResetClusterRequest command = new ResetClusterRequest();
 
diff --git 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/reset/ResetPartitionsCall.java
 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/reset/ResetPartitionsCall.java
index a42e20e7bc4..cc20ae64090 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/reset/ResetPartitionsCall.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/reset/ResetPartitionsCall.java
@@ -22,7 +22,7 @@ import org.apache.ignite.internal.cli.core.call.Call;
 import org.apache.ignite.internal.cli.core.call.DefaultCallOutput;
 import org.apache.ignite.internal.cli.core.exception.IgniteCliApiException;
 import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
-import org.apache.ignite.rest.client.api.RecoveryApi;
+import org.apache.ignite.rest.client.api.DisasterRecoveryApi;
 import org.apache.ignite.rest.client.invoker.ApiException;
 import org.apache.ignite.rest.client.model.ResetZonePartitionsRequest;
 
@@ -37,7 +37,7 @@ public class ResetPartitionsCall implements 
Call<ResetPartitionsCallInput, Strin
 
     @Override
     public DefaultCallOutput<String> execute(ResetPartitionsCallInput input) {
-        RecoveryApi client = new 
RecoveryApi(clientFactory.getClient(input.clusterUrl()));
+        DisasterRecoveryApi client = new 
DisasterRecoveryApi(clientFactory.getClient(input.clusterUrl()));
 
         try {
             ResetZonePartitionsRequest command = new 
ResetZonePartitionsRequest();
diff --git 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/restart/RestartPartitionsCall.java
 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/restart/RestartPartitionsCall.java
index a2d1411d216..c3c2c44c041 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/restart/RestartPartitionsCall.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/restart/RestartPartitionsCall.java
@@ -24,7 +24,8 @@ import org.apache.ignite.internal.cli.core.call.Call;
 import org.apache.ignite.internal.cli.core.call.DefaultCallOutput;
 import org.apache.ignite.internal.cli.core.exception.IgniteCliApiException;
 import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
-import org.apache.ignite.rest.client.api.RecoveryApi;
+import org.apache.ignite.rest.client.api.DisasterRecoveryApi;
+import org.apache.ignite.rest.client.invoker.ApiClient;
 import org.apache.ignite.rest.client.invoker.ApiException;
 import org.apache.ignite.rest.client.model.RestartZonePartitionsRequest;
 
@@ -39,7 +40,8 @@ public class RestartPartitionsCall implements 
Call<RestartPartitionsCallInput, S
 
     @Override
     public DefaultCallOutput<String> execute(RestartPartitionsCallInput input) 
{
-        RecoveryApi client = new 
RecoveryApi(clientFactory.getClient(input.clusterUrl()).setReadTimeout(DISASTER_RECOVERY_TIMEOUT_MILLIS));
+        ApiClient apiClient = 
clientFactory.getClient(input.clusterUrl()).setReadTimeout(DISASTER_RECOVERY_TIMEOUT_MILLIS);
+        DisasterRecoveryApi client = new DisasterRecoveryApi(apiClient);
 
         try {
             RestartZonePartitionsRequest command = new 
RestartZonePartitionsRequest();
diff --git 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/states/PartitionStatesCall.java
 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/states/PartitionStatesCall.java
index a79c16f4523..279ba5b4707 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/states/PartitionStatesCall.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/internal/cli/call/recovery/states/PartitionStatesCall.java
@@ -27,7 +27,7 @@ import 
org.apache.ignite.internal.cli.core.call.DefaultCallOutput;
 import org.apache.ignite.internal.cli.core.exception.IgniteCliApiException;
 import org.apache.ignite.internal.cli.core.rest.ApiClientFactory;
 import org.apache.ignite.internal.cli.sql.table.Table;
-import org.apache.ignite.rest.client.api.RecoveryApi;
+import org.apache.ignite.rest.client.api.DisasterRecoveryApi;
 import org.apache.ignite.rest.client.invoker.ApiException;
 import org.apache.ignite.rest.client.model.GlobalZonePartitionStateResponse;
 import org.apache.ignite.rest.client.model.GlobalZonePartitionStatesResponse;
@@ -51,7 +51,7 @@ public class PartitionStatesCall implements 
Call<PartitionStatesCallInput, Table
 
     @Override
     public DefaultCallOutput<Table> execute(PartitionStatesCallInput input) {
-        RecoveryApi client = new 
RecoveryApi(clientFactory.getClient(input.clusterUrl()));
+        DisasterRecoveryApi client = new 
DisasterRecoveryApi(clientFactory.getClient(input.clusterUrl()));
 
         try {
             if (input.local()) {
@@ -66,7 +66,7 @@ public class PartitionStatesCall implements 
Call<PartitionStatesCallInput, Table
 
     private static DefaultCallOutput<Table> getGlobalPartitionStatesOutput(
             PartitionStatesCallInput input,
-            RecoveryApi client,
+            DisasterRecoveryApi client,
             List<String> zoneNames
     ) throws ApiException {
         GlobalZonePartitionStatesResponse globalStates = 
client.getZoneGlobalPartitionStates(zoneNames, input.partitionIds());
@@ -85,7 +85,7 @@ public class PartitionStatesCall implements 
Call<PartitionStatesCallInput, Table
     }
 
     private static DefaultCallOutput<Table> getLocalPartitionStatesOutput(
-            RecoveryApi client,
+            DisasterRecoveryApi client,
             List<String> zoneNames,
             PartitionStatesCallInput input
     ) throws ApiException {
diff --git 
a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/DisasterRecoveryApi.java
 
b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/DisasterRecoveryApi.java
index 4e2f2bae9ee..3d8edd5f3c9 100644
--- 
a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/DisasterRecoveryApi.java
+++ 
b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/DisasterRecoveryApi.java
@@ -39,11 +39,12 @@ import org.apache.ignite.internal.rest.constants.MediaType;
  * Disaster recovery controller.
  */
 @Controller("/management/v1/recovery")
-@Tag(name = "recovery")
+@Tag(name = "disasterRecovery")
 public interface DisasterRecoveryApi {
     @Post("zone/partitions/reset")
     @Operation(
             operationId = "resetZonePartitions",
+            summary = "Reset zone partitions",
             description = "Updates assignments of zone's partitions in a 
forced manner, allowing for the recovery of raft groups with "
                     + "lost majorities."
     )
@@ -59,6 +60,7 @@ public interface DisasterRecoveryApi {
     @Post("zone/partitions/restart")
     @Operation(
             operationId = "restartZonePartitions",
+            summary = "Restart zone partitions",
             description = "Restarts replica service and raft group of passed 
zone partitions."
     )
     @ApiResponse(responseCode = "200", description = "Zone partitions 
restarted.")
@@ -73,6 +75,7 @@ public interface DisasterRecoveryApi {
     @Post("zone/partitions/restartWithCleanup")
     @Operation(
             operationId = "restartZonePartitionsWithCleanup",
+            summary = "Restart zone partitions with cleanup",
             description = "Restarts replica service and raft group of passed 
zone partitions with cleaning up of the storage."
     )
     @ApiResponse(responseCode = "200", description = "Zone partitions 
restarted.")
@@ -85,7 +88,11 @@ public interface DisasterRecoveryApi {
     CompletableFuture<Void> restartZonePartitionsWithCleanup(@Body 
RestartZonePartitionsRequest command);
 
     @Get("zone/state/local")
-    @Operation(operationId = "getZoneLocalPartitionStates", description = 
"Returns local zone partition states.")
+    @Operation(
+            operationId = "getZoneLocalPartitionStates",
+            summary = "Get local zone partition states",
+            description = "Returns local zone partition states."
+    )
     @ApiResponse(responseCode = "200", description = "Zone partition states 
returned.")
     @ApiResponse(responseCode = "500", description = "Internal error.",
             content = @Content(mediaType = MediaType.PROBLEM_JSON, schema = 
@Schema(implementation = Problem.class)))
@@ -104,7 +111,11 @@ public interface DisasterRecoveryApi {
     );
 
     @Get("zone/state/global")
-    @Operation(operationId = "getZoneGlobalPartitionStates", description = 
"Returns global zone partition states.")
+    @Operation(
+            operationId = "getZoneGlobalPartitionStates",
+            summary = "Get global zone partition states",
+            description = "Returns global zone partition states."
+    )
     @ApiResponse(responseCode = "200", description = "Zone partition states 
returned.")
     @ApiResponse(responseCode = "500", description = "Internal error.",
             content = @Content(mediaType = MediaType.PROBLEM_JSON, schema = 
@Schema(implementation = Problem.class)))
diff --git 
a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/system/SystemDisasterRecoveryApi.java
 
b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/system/SystemDisasterRecoveryApi.java
index 2a4c204358e..aae391ff33c 100644
--- 
a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/system/SystemDisasterRecoveryApi.java
+++ 
b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/recovery/system/SystemDisasterRecoveryApi.java
@@ -37,12 +37,12 @@ import org.apache.ignite.internal.rest.constants.MediaType;
  * @see <a 
href="https://cwiki.apache.org/confluence/display/IGNITE/IEP-128%3A+CMG+and+Metastorage+Disaster+Recovery";>IEP-128</a>
  */
 @Controller("/management/v1/recovery/cluster")
-@Tag(name = "system")
-@Tag(name = "recovery")
+@Tag(name = "systemDisasterRecovery")
 public interface SystemDisasterRecoveryApi {
     @Post("reset")
     @Operation(
             operationId = "resetCluster",
+            summary = "Reset cluster",
             description = "Initiates cluster reset to repair CMG/Metastorage 
group/both."
     )
     @ApiResponse(responseCode = "200", description = "Cluster reset 
initiated.")
@@ -58,6 +58,7 @@ public interface SystemDisasterRecoveryApi {
     @Post("migrate")
     @Operation(
             operationId = "migrate",
+            summary = "Migrate nodes to repaired cluster",
             description = "Migrates nodes from old cluster to new (repaired) 
cluster."
     )
     @ApiResponse(responseCode = "200", description = "Migration initiated.")
diff --git 
a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/zone/DataNodesApi.java
 
b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/zone/DataNodesApi.java
index 6806433fbef..b8af17f2de3 100644
--- 
a/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/zone/DataNodesApi.java
+++ 
b/modules/rest-api/src/main/java/org/apache/ignite/internal/rest/api/zone/DataNodesApi.java
@@ -44,6 +44,7 @@ public interface DataNodesApi {
     @Get("{zoneName}/datanodes")
     @Operation(
             operationId = "getDataNodesForZone",
+            summary = "Get data nodes for zone",
             description = "Returns current data nodes for zone."
     )
     @ApiResponse(
@@ -68,6 +69,7 @@ public interface DataNodesApi {
     @Post("{zoneName}/datanodes/reset")
     @Operation(
             operationId = "resetDataNodesForZone",
+            summary = "Reset data nodes for zone",
             description = "Recalculates and resets data nodes for zone."
     )
     @ApiResponse(responseCode = "200", description = "Data nodes are 
recalculated and reset.")
@@ -85,6 +87,7 @@ public interface DataNodesApi {
     @Post("/datanodes/reset")
     @Operation(
             operationId = "resetDataNodesForZones",
+            summary = "Reset data nodes for zones",
             description = "Recalculates and resets data nodes for given zones."
     )
     @ApiResponse(responseCode = "200", description = "Data nodes are 
recalculated and reset.")
diff --git 
a/modules/system-disaster-recovery/src/integrationTest/java/org/apache/ignite/internal/disaster/system/SystemDisasterRecoveryClient.java
 
b/modules/system-disaster-recovery/src/integrationTest/java/org/apache/ignite/internal/disaster/system/SystemDisasterRecoveryClient.java
index 90c7cdf7bd7..5247f4778f6 100644
--- 
a/modules/system-disaster-recovery/src/integrationTest/java/org/apache/ignite/internal/disaster/system/SystemDisasterRecoveryClient.java
+++ 
b/modules/system-disaster-recovery/src/integrationTest/java/org/apache/ignite/internal/disaster/system/SystemDisasterRecoveryClient.java
@@ -23,7 +23,7 @@ import okhttp3.OkHttpClient.Builder;
 import org.apache.ignite.internal.logger.IgniteLogger;
 import org.apache.ignite.internal.logger.Loggers;
 import org.apache.ignite.rest.client.api.ClusterManagementApi;
-import org.apache.ignite.rest.client.api.RecoveryApi;
+import org.apache.ignite.rest.client.api.SystemDisasterRecoveryApi;
 import org.apache.ignite.rest.client.invoker.ApiClient;
 import org.apache.ignite.rest.client.invoker.ApiException;
 import org.apache.ignite.rest.client.model.ClusterState;
@@ -52,7 +52,7 @@ class SystemDisasterRecoveryClient {
         );
 
         try {
-            RecoveryApi recoveryApi = new 
RecoveryApi(createApiClient(httpHost, httpPort));
+            SystemDisasterRecoveryApi recoveryApi = new 
SystemDisasterRecoveryApi(createApiClient(httpHost, httpPort));
             ResetClusterRequest resetRequest = new ResetClusterRequest()
                     .cmgNodeNames(List.of(newCmgNodeNames))
                     
.metastorageReplicationFactor(metastorageReplicationFactor);
@@ -74,7 +74,7 @@ class SystemDisasterRecoveryClient {
             ClusterManagementApi clusterManagementApi = new 
ClusterManagementApi(createApiClient(newHttpHost, newHttpPort));
             ClusterState clusterState = clusterManagementApi.clusterState();
 
-            RecoveryApi recoveryApi = new 
RecoveryApi(createApiClient(oldHttpHost, oldHttpPort));
+            SystemDisasterRecoveryApi recoveryApi = new 
SystemDisasterRecoveryApi(createApiClient(oldHttpHost, oldHttpPort));
             MigrateRequest migrateRequest = new MigrateRequest()
                     .cmgNodes(clusterState.getCmgNodes())
                     .metaStorageNodes(clusterState.getMsNodes())

Reply via email to