From b8b82087ebf662db2958fa63dac61bd05389a644 Mon Sep 17 00:00:00 2001 From: Yongzao <532741407@qq.com> Date: Fri, 6 Feb 2026 12:05:15 +0800 Subject: [PATCH] finish --- .../confignode/manager/node/NodeManager.java | 2 +- .../executor/ClusterConfigTaskExecutor.java | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java index 0c1d409cc700e..e3d775259d626 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java @@ -558,7 +558,7 @@ public synchronized DataSet registerAINode(TAINodeRegisterReq req) { public TSStatus removeAINode() { // check if the node exists if (nodeInfo.getRegisteredAINodes().isEmpty()) { - return new TSStatus(TSStatusCode.REMOVE_AI_NODE_ERROR.getStatusCode()) + return new TSStatus(TSStatusCode.NO_REGISTERED_AI_NODE_ERROR.getStatusCode()) .setMessage("Remove AINode failed because there is no AINode in the cluster."); } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java index 52c85334c184c..fbed84753cd85 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java @@ -3550,15 +3550,16 @@ public SettableFuture removeAINode( LOGGER.info("Starting to remove AINode"); try (ConfigNodeClient configNodeClient = CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.CONFIG_REGION_ID)) { - TShowClusterResp showClusterResp = configNodeClient.showCluster(); - if (showClusterResp.getAiNodeListSize() < 1) { - LOGGER.error("Remove AINode failed because there is no AINode in the cluster."); - future.setException( - new IOException("Remove AINode failed because there is no AINode in the cluster.")); - return future; - } TSStatus status = configNodeClient.removeAINode(new TAINodeRemoveReq()); - if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { + if (status.getCode() == TSStatusCode.NO_REGISTERED_AI_NODE_ERROR.getStatusCode()) { + LOGGER.warn("Remove AINode failed because there is no AINode in the cluster."); + future.set( + new ConfigTaskResult( + new TSStatus(TSStatusCode.NO_REGISTERED_AI_NODE_ERROR.getStatusCode()) + .setMessage( + "Remove AINode failed because there is no AINode in the cluster."))); + return future; + } else if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { future.setException(new IOException("Remove AINode failed: " + status.getMessage())); return future; } else {