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

wangchao316 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 8e39a52e23 [IOTDB-3844] Clear up Non-Seed-ConfigNode register process 
(#6831)
8e39a52e23 is described below

commit 8e39a52e2333343fc4144cdfcdc5e33a547d35ce
Author: YongzaoDan <[email protected]>
AuthorDate: Mon Aug 1 17:46:09 2022 +0800

    [IOTDB-3844] Clear up Non-Seed-ConfigNode register process (#6831)
    
    [IOTDB-3844] Clear up Non-Seed-ConfigNode register process (#6831)
---
 .../sync/confignode/SyncConfigNodeClientPool.java  | 22 +-----
 .../exception/AddConsensusGroupException.java      | 28 +++++++
 .../iotdb/confignode/manager/ConfigManager.java    | 89 ++++++----------------
 .../apache/iotdb/confignode/manager/IManager.java  |  5 +-
 .../iotdb/confignode/manager/NodeManager.java      | 21 -----
 .../procedure/env/ConfigNodeProcedureEnv.java      | 20 +++--
 .../iotdb/confignode/service/ConfigNode.java       | 19 +++--
 .../thrift/ConfigNodeRPCServiceProcessor.java      | 12 +--
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  6 +-
 .../src/main/thrift/confignode.thrift              | 10 +--
 10 files changed, 93 insertions(+), 139 deletions(-)

diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/confignode/SyncConfigNodeClientPool.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/confignode/SyncConfigNodeClientPool.java
index 991a05af63..a596b7e9f0 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/confignode/SyncConfigNodeClientPool.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/client/sync/confignode/SyncConfigNodeClientPool.java
@@ -23,10 +23,9 @@ import org.apache.iotdb.common.rpc.thrift.TEndPoint;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.client.IClientManager;
 import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
-import org.apache.iotdb.commons.utils.StatusUtils;
 import org.apache.iotdb.confignode.client.ConfigNodeRequestType;
+import org.apache.iotdb.confignode.rpc.thrift.TAddConsensusGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.db.client.DataNodeClientPoolFactory;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
@@ -36,7 +35,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
-import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 /** Synchronously send RPC requests to ConfigNode. See confignode.thrift for 
more details. */
@@ -76,8 +74,7 @@ public class SyncConfigNodeClientPool {
             // Only use registerConfigNode when the ConfigNode is first 
startup.
             return client.registerConfigNode((TConfigNodeRegisterReq) req);
           case ADD_CONSENSUS_GROUP:
-            addConsensusGroup((List<TConfigNodeLocation>) req, client);
-            return null;
+            return client.addConsensusGroup((TAddConsensusGroupReq) req);
           case NOTIFY_REGISTER_SUCCESS:
             client.notifyRegisterSuccess();
             return null;
@@ -105,27 +102,12 @@ public class SyncConfigNodeClientPool {
     }
     LOGGER.error("{} failed on ConfigNode {}", requestType, endPoint, 
lastException);
     switch (requestType) {
-      case REGISTER_CONFIG_NODE:
-        return new TConfigNodeRegisterResp(
-            RpcUtils.getStatus(
-                TSStatusCode.ALL_RETRY_FAILED,
-                "All retry failed due to" + lastException.getMessage()));
       default:
         return RpcUtils.getStatus(
             TSStatusCode.ALL_RETRY_FAILED, "All retry failed due to" + 
lastException.getMessage());
     }
   }
 
-  public void addConsensusGroup(
-      List<TConfigNodeLocation> configNodeLocation, 
SyncConfigNodeIServiceClient client)
-      throws TException {
-    TConfigNodeRegisterResp registerResp = new TConfigNodeRegisterResp();
-    registerResp.setConfigNodeList(configNodeLocation);
-    registerResp.setStatus(StatusUtils.OK);
-    client.addConsensusGroup(registerResp);
-    return;
-  }
-
   /**
    * ConfigNode Leader stop any ConfigNode in the cluster
    *
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/exception/AddConsensusGroupException.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/exception/AddConsensusGroupException.java
new file mode 100644
index 0000000000..39aac4b593
--- /dev/null
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/exception/AddConsensusGroupException.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.iotdb.confignode.exception;
+
+import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
+
+public class AddConsensusGroupException extends ConfigNodeException {
+
+  public AddConsensusGroupException(TConfigNodeLocation configNodeLocation) {
+    super(String.format("Add ConsensusGroup to: %s failed.", 
configNodeLocation.toString()));
+  }
+}
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index a5c253906e..d329f4ac26 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -75,7 +75,6 @@ import 
org.apache.iotdb.confignode.persistence.executor.ConfigPlanExecutor;
 import org.apache.iotdb.confignode.persistence.partition.PartitionInfo;
 import org.apache.iotdb.confignode.persistence.schema.ClusterSchemaInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionResp;
@@ -698,103 +697,65 @@ public class ConfigManager implements IManager {
   }
 
   @Override
-  public TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq 
req) {
+  public TSStatus registerConfigNode(TConfigNodeRegisterReq req) {
     // Check global configuration
     TSStatus status = confirmLeader();
 
     if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-      TConfigNodeRegisterResp errorResp1 = checkConfigNodeRegisterResp(req);
-      if (errorResp1 != null) return errorResp1;
+      TSStatus errorStatus = checkConfigNodeGlobalConfig(req);
+      if (errorStatus != null) {
+        return errorStatus;
+      }
 
       procedureManager.addConfigNode(req);
-      return nodeManager.registerConfigNode(req);
+      return StatusUtils.OK;
     }
 
-    return new TConfigNodeRegisterResp().setStatus(status);
+    return status;
   }
 
-  private TConfigNodeRegisterResp 
checkConfigNodeRegisterResp(TConfigNodeRegisterReq req) {
+  private TSStatus checkConfigNodeGlobalConfig(TConfigNodeRegisterReq req) {
+    final String errorPrefix = "Reject register, please ensure that the 
parameter ";
+    final String errorSuffix = " is consistent with the Seed-ConfigNode.";
+
     ConfigNodeConfig conf = ConfigNodeDescriptor.getInstance().getConf();
-    TConfigNodeRegisterResp errorResp = new TConfigNodeRegisterResp();
-    errorResp.setStatus(new 
TSStatus(TSStatusCode.ERROR_GLOBAL_CONFIG.getStatusCode()));
+    TSStatus errorStatus = new 
TSStatus(TSStatusCode.ERROR_GLOBAL_CONFIG.getStatusCode());
     if (!req.getDataRegionConsensusProtocolClass()
         .equals(conf.getDataRegionConsensusProtocolClass())) {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
data_region_consensus_protocol_class "
-                  + "are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(
+          errorPrefix + "data_region_consensus_protocol_class" + errorSuffix);
     }
     if (!req.getSchemaRegionConsensusProtocolClass()
         .equals(conf.getSchemaRegionConsensusProtocolClass())) {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
schema_region_consensus_protocol_class "
-                  + "are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(
+          errorPrefix + "schema_region_consensus_protocol_class" + 
errorSuffix);
     }
     if (req.getSeriesPartitionSlotNum() != conf.getSeriesPartitionSlotNum()) {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
series_partition_slot_num are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + "series_partition_slot_num" 
+ errorSuffix);
     }
     if 
(!req.getSeriesPartitionExecutorClass().equals(conf.getSeriesPartitionExecutorClass()))
 {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
series_partition_executor_class are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + 
"series_partition_executor_class" + errorSuffix);
     }
     if (req.getDefaultTTL() != 
CommonDescriptor.getInstance().getConfig().getDefaultTTL()) {
-      errorResp
-          .getStatus()
-          .setMessage("Reject register, please ensure that the default_ttl are 
consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + "default_ttl" + errorSuffix);
     }
     if (req.getTimePartitionInterval() != conf.getTimePartitionInterval()) {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the time_partition_interval 
are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + "time_partition_interval" + 
errorSuffix);
     }
     if (req.getSchemaReplicationFactor() != conf.getSchemaReplicationFactor()) 
{
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
schema_replication_factor are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + "schema_replication_factor" 
+ errorSuffix);
     }
     if (req.getSchemaRegionPerDataNode() != conf.getSchemaRegionPerDataNode()) 
{
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
schema_region_per_data_node are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + 
"schema_region_per_data_node" + errorSuffix);
     }
     if (req.getDataReplicationFactor() != conf.getDataReplicationFactor()) {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the data_replication_factor 
are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + "data_replication_factor" + 
errorSuffix);
     }
     if (req.getDataRegionPerProcessor() != conf.getDataRegionPerProcessor()) {
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the 
data_region_per_processor are consistent.");
-      return errorResp;
+      return errorStatus.setMessage(errorPrefix + "data_region_per_processor" 
+ errorSuffix);
     }
     if (!req.getReadConsistencyLevel().equals(conf.getReadConsistencyLevel())) 
{
-      errorResp
-          .getStatus()
-          .setMessage(
-              "Reject register, please ensure that the read_consistency_level 
are consistent.");
+      return errorStatus.setMessage(errorPrefix + "read_consistency_level" + 
errorSuffix);
     }
     return null;
   }
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
index b7fc84264b..41eeec7b93 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/IManager.java
@@ -40,7 +40,6 @@ import 
org.apache.iotdb.confignode.consensus.request.write.SetTTLPlan;
 import 
org.apache.iotdb.confignode.consensus.request.write.SetTimePartitionIntervalPlan;
 import org.apache.iotdb.confignode.manager.load.LoadManager;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
 import org.apache.iotdb.confignode.rpc.thrift.TGetAllTemplatesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetPathsSetTemplatesResp;
@@ -247,9 +246,9 @@ public interface IManager {
   /**
    * Register ConfigNode when it is first startup
    *
-   * @return TConfigNodeRegisterResp
+   * @return TSStatus
    */
-  TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq req);
+  TSStatus registerConfigNode(TConfigNodeRegisterReq req);
 
   /**
    * Add Consensus Group in new node.
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
index e8993e6de3..280f46377f 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
@@ -41,8 +41,6 @@ import org.apache.iotdb.confignode.manager.load.LoadManager;
 import org.apache.iotdb.confignode.persistence.NodeInfo;
 import org.apache.iotdb.confignode.procedure.env.DataNodeRemoveHandler;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeInfo;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDataNodeInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TGlobalConfig;
 import org.apache.iotdb.consensus.common.DataSet;
@@ -260,25 +258,6 @@ public class NodeManager {
     return configNodeInfoList;
   }
 
-  /**
-   * Provides ConfigNodeGroup information for the newly registered ConfigNode
-   *
-   * @param req TConfigNodeRegisterReq
-   * @return TConfigNodeRegisterResp with PartitionRegionId and online 
ConfigNodes
-   */
-  public TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq 
req) {
-    TConfigNodeRegisterResp resp = new TConfigNodeRegisterResp();
-
-    resp.setStatus(new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode()));
-
-    // Return PartitionRegionId
-    resp.setPartitionRegionId(
-        
getConsensusManager().getConsensusGroupId().convertToTConsensusGroupId());
-
-    resp.setConfigNodeList(nodeInfo.getRegisteredConfigNodes());
-    return resp;
-  }
-
   /**
    * Only leader use this interface, record the new ConfigNode's information
    *
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index 14f1036b14..d1151f8b8e 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -29,11 +29,13 @@ import 
org.apache.iotdb.confignode.client.sync.confignode.SyncConfigNodeClientPo
 import org.apache.iotdb.confignode.client.sync.datanode.SyncDataNodeClientPool;
 import 
org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
 import 
org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
+import org.apache.iotdb.confignode.exception.AddConsensusGroupException;
 import org.apache.iotdb.confignode.exception.AddPeerException;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
 import org.apache.iotdb.confignode.procedure.scheduler.LockQueue;
 import org.apache.iotdb.confignode.procedure.scheduler.ProcedureScheduler;
+import org.apache.iotdb.confignode.rpc.thrift.TAddConsensusGroupReq;
 import org.apache.iotdb.mpp.rpc.thrift.TInvalidateCacheReq;
 import org.apache.iotdb.rpc.TSStatusCode;
 
@@ -156,15 +158,21 @@ public class ConfigNodeProcedureEnv {
    *
    * @param tConfigNodeLocation New ConfigNode's location
    */
-  public void addConsensusGroup(TConfigNodeLocation tConfigNodeLocation) {
+  public void addConsensusGroup(TConfigNodeLocation tConfigNodeLocation)
+      throws AddConsensusGroupException {
     List<TConfigNodeLocation> configNodeLocations =
         new 
ArrayList<>(configManager.getNodeManager().getRegisteredConfigNodes());
     configNodeLocations.add(tConfigNodeLocation);
-    SyncConfigNodeClientPool.getInstance()
-        .sendSyncRequestToConfigNodeWithRetry(
-            tConfigNodeLocation.getInternalEndPoint(),
-            configNodeLocations,
-            ConfigNodeRequestType.ADD_CONSENSUS_GROUP);
+    TSStatus status =
+        (TSStatus)
+            SyncConfigNodeClientPool.getInstance()
+                .sendSyncRequestToConfigNodeWithRetry(
+                    tConfigNodeLocation.getInternalEndPoint(),
+                    new TAddConsensusGroupReq(configNodeLocations),
+                    ConfigNodeRequestType.ADD_CONSENSUS_GROUP);
+    if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+      throw new AddConsensusGroupException(tConfigNodeLocation);
+    }
   }
 
   /**
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java 
b/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
index bb0a102cf7..115215cf15 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
@@ -20,6 +20,7 @@ package org.apache.iotdb.confignode.service;
 
 import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TEndPoint;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.commons.exception.StartupException;
 import org.apache.iotdb.commons.service.JMXService;
@@ -35,7 +36,6 @@ import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import org.apache.iotdb.confignode.conf.SystemPropertiesUtils;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.service.thrift.ConfigNodeRPCService;
 import 
org.apache.iotdb.confignode.service.thrift.ConfigNodeRPCServiceProcessor;
 import org.apache.iotdb.db.service.metrics.MetricsService;
@@ -206,19 +206,18 @@ public class ConfigNode implements ConfigNodeMBean {
 
     TEndPoint targetConfigNode = conf.getTargetConfigNode();
     for (int retry = 0; retry < 3; retry++) {
-      TConfigNodeRegisterResp resp =
-          (TConfigNodeRegisterResp)
+      TSStatus status =
+          (TSStatus)
               SyncConfigNodeClientPool.getInstance()
                   .sendSyncRequestToConfigNodeWithRetry(
                       targetConfigNode, req, 
ConfigNodeRequestType.REGISTER_CONFIG_NODE);
-      if (resp.getStatus().getCode() == 
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-        conf.setPartitionRegionId(resp.getPartitionRegionId().getId());
-        return;
-      } else if (resp.getStatus().getCode() == 
TSStatusCode.NEED_REDIRECTION.getStatusCode()) {
-        targetConfigNode = resp.getStatus().getRedirectNode();
+      if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+        break;
+      } else if (status.getCode() == 
TSStatusCode.NEED_REDIRECTION.getStatusCode()) {
+        targetConfigNode = status.getRedirectNode();
         LOGGER.info("ConfigNode need redirect to  {}.", targetConfigNode);
-      } else if (resp.getStatus().getCode() == 
TSStatusCode.ERROR_GLOBAL_CONFIG.getStatusCode()) {
-        LOGGER.error("Configuration may not be consistent, {}", req);
+      } else if (status.getCode() == 
TSStatusCode.ERROR_GLOBAL_CONFIG.getStatusCode()) {
+        LOGGER.error(status.getMessage());
         throw new StartupException("Configuration are not consistent!");
       }
 
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index 2abd09b8c7..6c954faf66 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@ -59,11 +59,11 @@ import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.manager.ConsensusManager;
 import org.apache.iotdb.confignode.manager.load.LoadManager;
 import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
+import org.apache.iotdb.confignode.rpc.thrift.TAddConsensusGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
 import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
@@ -418,17 +418,17 @@ public class ConfigNodeRPCServiceProcessor implements 
IConfigNodeRPCService.Ifac
   }
 
   @Override
-  public TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq 
req) throws TException {
-    TConfigNodeRegisterResp resp = configManager.registerConfigNode(req);
+  public TSStatus registerConfigNode(TConfigNodeRegisterReq req) throws 
TException {
+    TSStatus status = configManager.registerConfigNode(req);
 
     // Print log to record the ConfigNode that performs the 
RegisterConfigNodeRequest
-    LOGGER.info("Execute RegisterConfigNodeRequest {} with result {}", req, 
resp);
+    LOGGER.info("Execute RegisterConfigNodeRequest {} with result {}", req, 
status);
 
-    return resp;
+    return status;
   }
 
   @Override
-  public TSStatus addConsensusGroup(TConfigNodeRegisterResp registerResp) {
+  public TSStatus addConsensusGroup(TAddConsensusGroupReq registerResp) {
     return configManager.addConsensusGroup(registerResp.getConfigNodeList());
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java 
b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
index a1517dcc82..447e276dc8 100644
--- a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
+++ b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
@@ -33,11 +33,11 @@ import 
org.apache.iotdb.commons.client.sync.SyncThriftClient;
 import org.apache.iotdb.commons.client.sync.SyncThriftClientWithErrorHandler;
 import org.apache.iotdb.commons.consensus.PartitionRegionId;
 import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
+import org.apache.iotdb.confignode.rpc.thrift.TAddConsensusGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
 import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
 import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterReq;
-import org.apache.iotdb.confignode.rpc.thrift.TConfigNodeRegisterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateFunctionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TCreateSchemaTemplateReq;
@@ -703,12 +703,12 @@ public class ConfigNodeClient
   }
 
   @Override
-  public TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq 
req) throws TException {
+  public TSStatus registerConfigNode(TConfigNodeRegisterReq req) throws 
TException {
     throw new TException("DataNode to ConfigNode client doesn't support 
registerConfigNode.");
   }
 
   @Override
-  public TSStatus addConsensusGroup(TConfigNodeRegisterResp registerResp) 
throws TException {
+  public TSStatus addConsensusGroup(TAddConsensusGroupReq registerResp) throws 
TException {
     throw new TException("DataNode to ConfigNode client doesn't support 
addConsensusGroup.");
   }
 
diff --git a/thrift-confignode/src/main/thrift/confignode.thrift 
b/thrift-confignode/src/main/thrift/confignode.thrift
index ece12758d3..bb842ac90e 100644
--- a/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/thrift-confignode/src/main/thrift/confignode.thrift
@@ -227,10 +227,8 @@ struct TConfigNodeRegisterReq {
   12: required string readConsistencyLevel
 }
 
-struct TConfigNodeRegisterResp {
-  1: required common.TSStatus status
-  2: optional common.TConsensusGroupId partitionRegionId
-  3: optional list<common.TConfigNodeLocation> configNodeList
+struct TAddConsensusGroupReq {
+  1: required list<common.TConfigNodeLocation> configNodeList
 }
 
 // UDF
@@ -409,9 +407,9 @@ service IConfigNodeRPCService {
 
   /* ConfigNode */
 
-  TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq req)
+  common.TSStatus registerConfigNode(TConfigNodeRegisterReq req)
 
-  common.TSStatus addConsensusGroup(TConfigNodeRegisterResp req)
+  common.TSStatus addConsensusGroup(TAddConsensusGroupReq req)
 
   common.TSStatus notifyRegisterSuccess()
 

Reply via email to