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()