This is an automated email from the ASF dual-hosted git repository.
tanxinyu 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 ce4fc833223 [IOTDB-6194] Remove _list from parameter
target_config_node_list (#11335)
ce4fc833223 is described below
commit ce4fc833223ba90d6e81afa807e830335653691c
Author: Yongzao <[email protected]>
AuthorDate: Fri Oct 20 19:01:21 2023 +0800
[IOTDB-6194] Remove _list from parameter target_config_node_list (#11335)
---
.../DockerCompose/docker-compose-cluster-1c2d.yml | 6 ++---
.../DockerCompose/docker-compose-host-3c3d.yml | 4 ++--
.../DockerCompose/docker-compose-standalone.yml | 4 ++--
docker/src/main/Dockerfile-1c1d | 4 ++--
.../iotdb/it/env/cluster/env/AbstractEnv.java | 6 ++---
.../it/env/cluster/node/ConfigNodeWrapper.java | 9 ++++----
.../iotdb/it/env/cluster/node/DataNodeWrapper.java | 4 ++--
.../resources/conf/iotdb-confignode.properties | 9 ++++----
.../iotdb/confignode/conf/ConfigNodeConfig.java | 10 ++++-----
.../confignode/conf/ConfigNodeDescriptor.java | 26 ++++++++++++++--------
.../confignode/conf/ConfigNodeStartupCheck.java | 10 ++++-----
.../manager/node/ClusterNodeStartUtils.java | 4 ++--
.../iotdb/confignode/service/ConfigNode.java | 14 ++++++------
.../confignode/service/ConfigNodeShutdownHook.java | 6 ++---
.../confignode1conf/iotdb-confignode.properties | 2 +-
.../confignode2conf/iotdb-confignode.properties | 2 +-
.../confignode3conf/iotdb-confignode.properties | 2 +-
.../resources/conf/iotdb-datanode.properties | 7 +++---
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 12 +++++-----
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 21 ++++++++++++-----
.../java/org/apache/iotdb/db/service/DataNode.java | 8 ++++---
.../datanode1conf/iotdb-datanode.properties | 2 +-
.../datanode2conf/iotdb-datanode.properties | 2 +-
.../datanode3conf/iotdb-datanode.properties | 2 +-
.../src/test/resources/iotdb-datanode.properties | 1 +
.../apache/iotdb/commons/conf/IoTDBConstant.java | 4 +++-
26 files changed, 99 insertions(+), 82 deletions(-)
diff --git a/docker/src/main/DockerCompose/docker-compose-cluster-1c2d.yml
b/docker/src/main/DockerCompose/docker-compose-cluster-1c2d.yml
index b4309296395..d7fd52ead2f 100644
--- a/docker/src/main/DockerCompose/docker-compose-cluster-1c2d.yml
+++ b/docker/src/main/DockerCompose/docker-compose-cluster-1c2d.yml
@@ -26,7 +26,7 @@ services:
- cn_internal_address=iotdb-confignode
- cn_internal_port=10710
- cn_consensus_port=10720
- - cn_target_config_node_list=iotdb-confignode:10710
+ - cn_seed_config_node=iotdb-confignode:10710
volumes:
- ./data/confignode:/iotdb/data
- ./logs/confignode:/iotdb/logs
@@ -43,7 +43,7 @@ services:
environment:
- dn_rpc_address=iotdb-datanode-1
- dn_internal_address=iotdb-datanode-1
- - dn_target_config_node_list=iotdb-confignode:10710
+ - dn_seed_config_node=iotdb-confignode:10710
- dn_rpc_port=6667
- dn_mpp_data_exchange_port=10740
- dn_schema_region_consensus_port=10750
@@ -62,7 +62,7 @@ services:
environment:
- dn_rpc_address=iotdb-datanode-2
- dn_internal_address=iotdb-datanode-2
- - dn_target_config_node_list=iotdb-confignode:10710
+ - dn_seed_config_node=iotdb-confignode:10710
- dn_rpc_port=6667
- dn_mpp_data_exchange_port=10740
- dn_schema_region_consensus_port=10750
diff --git a/docker/src/main/DockerCompose/docker-compose-host-3c3d.yml
b/docker/src/main/DockerCompose/docker-compose-host-3c3d.yml
index 03ac8ec9fd0..ab88c54f254 100644
--- a/docker/src/main/DockerCompose/docker-compose-host-3c3d.yml
+++ b/docker/src/main/DockerCompose/docker-compose-host-3c3d.yml
@@ -23,7 +23,7 @@ services:
container_name: iotdb-confignode
environment:
- cn_internal_address=iotdb-1
- - cn_target_config_node_list=iotdb-1:10710
+ - cn_seed_config_node=iotdb-1:10710
- cn_internal_port=10710
- cn_consensus_port=10720
- schema_replication_factor=3
@@ -41,7 +41,7 @@ services:
environment:
- dn_rpc_address=iotdb-1
- dn_internal_address=iotdb-1
- - dn_target_config_node_list=iotdb-1:10710
+ - dn_seed_config_node=iotdb-1:10710
- dn_rpc_port=6667
- dn_mpp_data_exchange_port=10740
- dn_schema_region_consensus_port=10750
diff --git a/docker/src/main/DockerCompose/docker-compose-standalone.yml
b/docker/src/main/DockerCompose/docker-compose-standalone.yml
index 7724cce21e1..7193acfdcde 100644
--- a/docker/src/main/DockerCompose/docker-compose-standalone.yml
+++ b/docker/src/main/DockerCompose/docker-compose-standalone.yml
@@ -28,14 +28,14 @@ services:
- cn_internal_address=iotdb-service
- cn_internal_port=10710
- cn_consensus_port=10720
- - cn_target_config_node_list=iotdb-service:10710
+ - cn_seed_config_node=iotdb-service:10710
- dn_rpc_address=iotdb-service
- dn_internal_address=iotdb-service
- dn_rpc_port=6667
- dn_mpp_data_exchange_port=10740
- dn_schema_region_consensus_port=10750
- dn_data_region_consensus_port=10760
- - dn_target_config_node_list=iotdb-service:10710
+ - dn_seed_config_node=iotdb-service:10710
volumes:
- ./data:/iotdb/data
- ./logs:/iotdb/logs
diff --git a/docker/src/main/Dockerfile-1c1d b/docker/src/main/Dockerfile-1c1d
index aefa5d2965a..9aacd0aa0ca 100644
--- a/docker/src/main/Dockerfile-1c1d
+++ b/docker/src/main/Dockerfile-1c1d
@@ -32,8 +32,8 @@ RUN apt update \
&& mv /start-1c1d.sh /iotdb/sbin \
&& sed -i 's/dn_internal_address=127.0.0.1/dn_internal_address=0.0.0.0/g'
/iotdb/conf/iotdb-datanode.properties \
&& sed -i 's/cn_internal_address=127.0.0.1/cn_internal_address=0.0.0.0/g'
/iotdb/conf/iotdb-confignode.properties \
- && sed -i
's/cn_target_config_node_list=127.0.0.1:10710/cn_target_config_node_list=0.0.0.0:10710/g'
/iotdb/conf/iotdb-confignode.properties \
- && sed -i
's/dn_target_config_node_list=127.0.0.1:10710/dn_target_config_node_list=0.0.0.0:10710/g'
/iotdb/conf/iotdb-datanode.properties \
+ && sed -i
's/cn_seed_config_node=127.0.0.1:10710/cn_seed_config_node=0.0.0.0:10710/g'
/iotdb/conf/iotdb-confignode.properties \
+ && sed -i
's/dn_seed_config_node=127.0.0.1:10710/dn_seed_config_node=0.0.0.0:10710/g'
/iotdb/conf/iotdb-datanode.properties \
&& sed -i 's/#
config_node_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus/config_node_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g'
/iotdb/conf/iotdb-common.properties \
&& sed -i 's/#
schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus/schema_region_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g'
/iotdb/conf/iotdb-common.properties \
&& sed -i 's/#
data_region_consensus_protocol_class=org.apache.iotdb.consensus.iot.IoTConsensus/data_region_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g'
/iotdb/conf/iotdb-common.properties \
diff --git
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
index c6108934289..6edfe0122ff 100644
---
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
+++
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/env/AbstractEnv.java
@@ -153,7 +153,7 @@ public abstract class AbstractEnv implements BaseEnv {
(MppJVMConfig) clusterConfig.getConfigNodeJVMConfig());
seedConfigNodeWrapper.createLogDir();
seedConfigNodeWrapper.start();
- String targetConfigNode = seedConfigNodeWrapper.getIpAndPortString();
+ String seedConfigNode = seedConfigNodeWrapper.getIpAndPortString();
this.configNodeWrapperList.add(seedConfigNodeWrapper);
// Check if the Seed-ConfigNode started successfully
@@ -171,7 +171,7 @@ public abstract class AbstractEnv implements BaseEnv {
ConfigNodeWrapper configNodeWrapper =
new ConfigNodeWrapper(
false,
- targetConfigNode,
+ seedConfigNode,
testClassName,
testMethodName,
EnvUtils.searchAvailablePorts(),
@@ -205,7 +205,7 @@ public abstract class AbstractEnv implements BaseEnv {
for (int i = 0; i < dataNodesNum; i++) {
DataNodeWrapper dataNodeWrapper =
new DataNodeWrapper(
- targetConfigNode,
+ seedConfigNode,
testClassName,
testMethodName,
EnvUtils.searchAvailablePorts(),
diff --git
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/ConfigNodeWrapper.java
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/ConfigNodeWrapper.java
index e33b5fcb86e..8aec051dc9b 100644
---
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/ConfigNodeWrapper.java
+++
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/ConfigNodeWrapper.java
@@ -70,11 +70,11 @@ public class ConfigNodeWrapper extends AbstractNodeWrapper {
super(testClassName, testMethodName, portList, clusterIndex,
isMultiCluster, startTime);
this.consensusPort = portList[1];
this.isSeed = isSeed;
- String targetConfigNodes;
+ String seedConfigNodes;
if (isSeed) {
- targetConfigNodes = getIpAndPortString();
+ seedConfigNodes = getIpAndPortString();
} else {
- targetConfigNodes = targetCNs;
+ seedConfigNodes = targetCNs;
}
this.defaultNodePropertiesFile =
EnvUtils.getFilePathFromSysVar(DEFAULT_CONFIG_NODE_PROPERTIES,
clusterIndex);
@@ -85,8 +85,7 @@ public class ConfigNodeWrapper extends AbstractNodeWrapper {
reloadMutableFields();
// initialize immutable properties
- immutableNodeProperties.setProperty(
- IoTDBConstant.CN_TARGET_CONFIG_NODE_LIST, targetConfigNodes);
+ immutableNodeProperties.setProperty(IoTDBConstant.CN_SEED_CONFIG_NODE,
seedConfigNodes);
immutableNodeProperties.setProperty(CN_SYSTEM_DIR,
MppBaseConfig.NULL_VALUE);
immutableNodeProperties.setProperty(CN_CONSENSUS_DIR,
MppBaseConfig.NULL_VALUE);
immutableNodeProperties.setProperty(
diff --git
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/DataNodeWrapper.java
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/DataNodeWrapper.java
index ebd9934a16d..e7543813599 100644
---
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/DataNodeWrapper.java
+++
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/DataNodeWrapper.java
@@ -80,7 +80,7 @@ public class DataNodeWrapper extends AbstractNodeWrapper {
private final String defaultCommonPropertiesFile;
public DataNodeWrapper(
- String targetConfigNode,
+ String seedConfigNode,
String testClassName,
String testMethodName,
int[] portList,
@@ -109,7 +109,7 @@ public class DataNodeWrapper extends AbstractNodeWrapper {
immutableCommonProperties.setProperty(
PIPE_AIR_GAP_RECEIVER_PORT,
String.valueOf(this.pipeAirGapReceiverPort));
-
immutableNodeProperties.setProperty(IoTDBConstant.DN_TARGET_CONFIG_NODE_LIST,
targetConfigNode);
+ immutableNodeProperties.setProperty(IoTDBConstant.DN_SEED_CONFIG_NODE,
seedConfigNode);
immutableNodeProperties.setProperty(DN_SYSTEM_DIR,
MppBaseConfig.NULL_VALUE);
immutableNodeProperties.setProperty(DN_DATA_DIRS,
MppBaseConfig.NULL_VALUE);
immutableNodeProperties.setProperty(DN_CONSENSUS_DIR,
MppBaseConfig.NULL_VALUE);
diff --git
a/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
b/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
index bbe831b7238..36d7e53c20c 100644
---
a/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
+++
b/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
@@ -35,15 +35,14 @@ cn_internal_port=10710
cn_consensus_port=10720
####################
-### Target Config Nodes
+### Seed ConfigNode
####################
-# For the first ConfigNode to start, cn_target_config_node_list points to its
own cn_internal_address:cn_internal_port.
-# For other ConfigNodes that to join the cluster, cn_target_config_node_list
points to any running ConfigNode's cn_internal_address:cn_internal_port.
-# Note: Currently only endpoints that point to a single confignode are
supported
+# For the first ConfigNode to start, cn_seed_config_node points to its own
cn_internal_address:cn_internal_port.
+# For other ConfigNodes that to join the cluster, cn_seed_config_node points
to any running ConfigNode's cn_internal_address:cn_internal_port.
# Format: address:port e.g. 127.0.0.1:10710
# Datatype: String
-cn_target_config_node_list=127.0.0.1:10710
+cn_seed_config_node=127.0.0.1:10710
####################
### Directory configuration
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index db12e430679..277a3513f3c 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -51,7 +51,7 @@ public class ConfigNodeConfig {
private int consensusPort = 10720;
/** Used for connecting to the ConfigNodeGroup. */
- private TEndPoint targetConfigNode = new TEndPoint("127.0.0.1", 10710);
+ private TEndPoint seedConfigNode = new TEndPoint("127.0.0.1", 10710);
// TODO: Read from iotdb-confignode.properties.
private int configRegionId = 0;
@@ -387,12 +387,12 @@ public class ConfigNodeConfig {
this.consensusPort = consensusPort;
}
- public TEndPoint getTargetConfigNode() {
- return targetConfigNode;
+ public TEndPoint getSeedConfigNode() {
+ return seedConfigNode;
}
- public void setTargetConfigNode(TEndPoint targetConfigNode) {
- this.targetConfigNode = targetConfigNode;
+ public void setSeedConfigNode(TEndPoint seedConfigNode) {
+ this.seedConfigNode = seedConfigNode;
}
public int getConfigRegionId() {
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index 5faadebc128..99cc0e6376d 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -172,11 +172,19 @@ public class ConfigNodeDescriptor {
IoTDBConstant.CN_CONSENSUS_PORT,
String.valueOf(conf.getConsensusPort()))
.trim()));
- // TODO: Enable multiple target_config_node_list
- String targetConfigNodes =
- properties.getProperty(IoTDBConstant.CN_TARGET_CONFIG_NODE_LIST, null);
- if (targetConfigNodes != null) {
-
conf.setTargetConfigNode(NodeUrlUtils.parseTEndPointUrl(targetConfigNodes.trim()));
+ String seedConfigNode =
properties.getProperty(IoTDBConstant.CN_SEED_CONFIG_NODE, null);
+ if (seedConfigNode == null) {
+ seedConfigNode =
properties.getProperty(IoTDBConstant.CN_TARGET_CONFIG_NODE_LIST, null);
+ LOGGER.warn(
+ "The parameter cn_target_config_node_list has been abandoned, "
+ + "only the first ConfigNode address will be used to join in the
cluster. "
+ + "Please use cn_seed_config_node instead.");
+ }
+ if (seedConfigNode != null) {
+
conf.setSeedConfigNode(NodeUrlUtils.parseTEndPointUrls(seedConfigNode.trim()).get(0));
+ } else {
+ throw new IOException(
+ "The parameter dn_seed_config_node is not set, this ConfigNode will
not join in any cluster.");
}
conf.setSeriesSlotNum(
@@ -879,13 +887,13 @@ public class ConfigNodeDescriptor {
*
* <p>Notice: Only invoke this interface when first startup.
*
- * @return True if the target_config_node_list points to itself
+ * @return True if the seed_config_node points to itself
*/
public boolean isSeedConfigNode() {
- return
(conf.getInternalAddress().equals(conf.getTargetConfigNode().getIp())
+ return (conf.getInternalAddress().equals(conf.getSeedConfigNode().getIp())
|| (NodeUrlUtils.isLocalAddress(conf.getInternalAddress())
- &&
NodeUrlUtils.isLocalAddress(conf.getTargetConfigNode().getIp())))
- && conf.getInternalPort() == conf.getTargetConfigNode().getPort();
+ &&
NodeUrlUtils.isLocalAddress(conf.getSeedConfigNode().getIp())))
+ && conf.getInternalPort() == conf.getSeedConfigNode().getPort();
}
public static ConfigNodeDescriptor getInstance() {
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
index 18882e9095a..000e08d348e 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
@@ -89,13 +89,13 @@ public class ConfigNodeStartupCheck extends StartupChecks {
*/
private void checkGlobalConfig() throws ConfigurationException {
// When the ConfigNode consensus protocol is set to SIMPLE_CONSENSUS,
- // the target_config_node_list needs to point to itself
+ // the seed_config_node needs to point to itself
if
(CONF.getConfigNodeConsensusProtocolClass().equals(ConsensusFactory.SIMPLE_CONSENSUS)
- &&
(!CONF.getInternalAddress().equals(CONF.getTargetConfigNode().getIp())
- || CONF.getInternalPort() !=
CONF.getTargetConfigNode().getPort())) {
+ && (!CONF.getInternalAddress().equals(CONF.getSeedConfigNode().getIp())
+ || CONF.getInternalPort() != CONF.getSeedConfigNode().getPort())) {
throw new ConfigurationException(
- IoTDBConstant.CN_TARGET_CONFIG_NODE_LIST,
- CONF.getTargetConfigNode().getIp() + ":" +
CONF.getTargetConfigNode().getPort(),
+ IoTDBConstant.CN_SEED_CONFIG_NODE,
+ CONF.getSeedConfigNode().getIp() + ":" +
CONF.getSeedConfigNode().getPort(),
CONF.getInternalAddress() + ":" + CONF.getInternalPort(),
"the config_node_consensus_protocol_class is set to" +
ConsensusFactory.SIMPLE_CONSENSUS);
}
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/ClusterNodeStartUtils.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/ClusterNodeStartUtils.java
index 0e8e26f8b4e..baf293ed5e4 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/ClusterNodeStartUtils.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/ClusterNodeStartUtils.java
@@ -71,7 +71,7 @@ public class ClusterNodeStartUtils {
"Reject %s start. Because the ClusterName of the current %s and
the target cluster are inconsistent. "
+ "ClusterName of the current Node: %s, ClusterName of the
target cluster: %s."
+ POSSIBLE_SOLUTIONS
- + "\t1. Change the target_config_node_list parameter in %s
to join the correct cluster."
+ + "\t1. Change the seed_config_node parameter in %s to join
the correct cluster."
+ "\n\t2. Change the cluster_name parameter in %s to match
the target cluster",
nodeType.getNodeType(),
nodeType.getNodeType(),
@@ -145,7 +145,7 @@ public class ClusterNodeStartUtils {
"Reject %s restart. Because the ClusterName of the current %s
and the target cluster are inconsistent. "
+ "ClusterName of the current Node: %s, ClusterName of the
target cluster: %s."
+ POSSIBLE_SOLUTIONS
- + "\t1. Change the target_config_node_list parameter in %s
to join the correct cluster."
+ + "\t1. Change the seed_config_node parameter in %s to join
the correct cluster."
+ "\n\t2. Change the cluster_name parameter in %s to match
the target cluster",
nodeType.getNodeType(),
nodeType.getNodeType(),
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
index 1f0c1ee32ec..0a2a9fd9c5e 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNode.java
@@ -315,11 +315,11 @@ public class ConfigNode implements ConfigNodeMBean {
req.setVersionInfo(new TNodeVersionInfo(IoTDBConstant.VERSION,
IoTDBConstant.BUILD_INFO));
- TEndPoint targetConfigNode = CONF.getTargetConfigNode();
- if (targetConfigNode == null) {
+ TEndPoint seedConfigNode = CONF.getSeedConfigNode();
+ if (seedConfigNode == null) {
LOGGER.error(
- "Please set the cn_target_config_node_list parameter in
iotdb-confignode.properties file.");
- throw new StartupException("The targetConfigNode setting in conf is
empty");
+ "Please set the cn_seed_config_node parameter in
iotdb-confignode.properties file.");
+ throw new StartupException("The seedConfigNode setting in conf is
empty");
}
for (int retry = 0; retry < STARTUP_RETRY_NUM; retry++) {
@@ -328,7 +328,7 @@ public class ConfigNode implements ConfigNodeMBean {
Object obj =
SyncConfigNodeClientPool.getInstance()
.sendSyncRequestToConfigNodeWithRetry(
- targetConfigNode, req,
ConfigNodeRequestType.REGISTER_CONFIG_NODE);
+ seedConfigNode, req,
ConfigNodeRequestType.REGISTER_CONFIG_NODE);
if (obj instanceof TConfigNodeRegisterResp) {
resp = (TConfigNodeRegisterResp) obj;
@@ -347,8 +347,8 @@ public class ConfigNode implements ConfigNodeMBean {
configManager.initConsensusManager();
return;
} else if (status.getCode() ==
TSStatusCode.REDIRECTION_RECOMMEND.getStatusCode()) {
- targetConfigNode = status.getRedirectNode();
- LOGGER.info("ConfigNode need redirect to {}, retry {} ...",
targetConfigNode, retry);
+ seedConfigNode = status.getRedirectNode();
+ LOGGER.info("ConfigNode need redirect to {}, retry {} ...",
seedConfigNode, retry);
} else if (status.getCode() ==
TSStatusCode.INTERNAL_REQUEST_RETRY_ERROR.getStatusCode()) {
LOGGER.warn("The result of register self ConfigNode is {}, retry {}
...", status, retry);
} else {
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNodeShutdownHook.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNodeShutdownHook.java
index 1089830508e..bd8ea079690 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNodeShutdownHook.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNodeShutdownHook.java
@@ -58,13 +58,13 @@ public class ConfigNodeShutdownHook extends Thread {
// Set and report shutdown to cluster ConfigNode-leader
CommonDescriptor.getInstance().getConfig().setNodeStatus(NodeStatus.Unknown);
boolean isReportSuccess = false;
- TEndPoint targetConfigNode = CONF.getTargetConfigNode();
+ TEndPoint seedConfigNode = CONF.getSeedConfigNode();
for (int retry = 0; retry < SHUTDOWN_REPORT_RETRY_NUM; retry++) {
TSStatus result =
(TSStatus)
SyncConfigNodeClientPool.getInstance()
.sendSyncRequestToConfigNodeWithRetry(
- targetConfigNode,
+ seedConfigNode,
new TConfigNodeLocation(
CONF.getConfigNodeId(),
new TEndPoint(CONF.getInternalAddress(),
CONF.getInternalPort()),
@@ -77,7 +77,7 @@ public class ConfigNodeShutdownHook extends Thread {
break;
} else if (result.getCode() ==
TSStatusCode.REDIRECTION_RECOMMEND.getStatusCode()) {
// Redirect
- targetConfigNode = result.getRedirectNode();
+ seedConfigNode = result.getRedirectNode();
}
}
if (!isReportSuccess) {
diff --git
a/iotdb-core/confignode/src/test/resources/confignode1conf/iotdb-confignode.properties
b/iotdb-core/confignode/src/test/resources/confignode1conf/iotdb-confignode.properties
index ebc0e98212a..0ab8e60fa71 100644
---
a/iotdb-core/confignode/src/test/resources/confignode1conf/iotdb-confignode.properties
+++
b/iotdb-core/confignode/src/test/resources/confignode1conf/iotdb-confignode.properties
@@ -20,7 +20,7 @@
cn_internal_address=127.0.0.1
cn_internal_port=10710
cn_consensus_port=10720
-cn_target_config_node_list=127.0.0.1:10710
+cn_seed_config_node=127.0.0.1:10710
cn_system_dir=target/confignode1/system
cn_data_dirs=target/confignode1/data
cn_consensus_dir=target/confignode1/consensus
diff --git
a/iotdb-core/confignode/src/test/resources/confignode2conf/iotdb-confignode.properties
b/iotdb-core/confignode/src/test/resources/confignode2conf/iotdb-confignode.properties
index 1a0ceaf8c35..b9c63f33cbd 100644
---
a/iotdb-core/confignode/src/test/resources/confignode2conf/iotdb-confignode.properties
+++
b/iotdb-core/confignode/src/test/resources/confignode2conf/iotdb-confignode.properties
@@ -20,7 +20,7 @@
cn_internal_address=127.0.0.1
cn_internal_port=10711
cn_consensus_port=10721
-cn_target_config_node_list=127.0.0.1:10710
+cn_seed_config_node=127.0.0.1:10710
cn_system_dir=target/confignode2/system
cn_data_dirs=target/confignode2/data
cn_consensus_dir=target/confignode2/consensus
diff --git
a/iotdb-core/confignode/src/test/resources/confignode3conf/iotdb-confignode.properties
b/iotdb-core/confignode/src/test/resources/confignode3conf/iotdb-confignode.properties
index f2eaaa2c7a8..a56f7cf3682 100644
---
a/iotdb-core/confignode/src/test/resources/confignode3conf/iotdb-confignode.properties
+++
b/iotdb-core/confignode/src/test/resources/confignode3conf/iotdb-confignode.properties
@@ -20,7 +20,7 @@
cn_internal_address=127.0.0.1
cn_internal_port=10712
cn_consensus_port=10722
-cn_target_config_node_list=127.0.0.1:10710
+cn_seed_config_node=127.0.0.1:10710
cn_system_dir=target/confignode3/system
cn_data_dirs=target/confignode3/data
cn_consensus_dir=target/confignode3/consensus
diff --git
a/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
b/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
index c8aef63aa1b..e616df68b70 100644
--- a/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
+++ b/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
@@ -61,14 +61,13 @@ dn_data_region_consensus_port=10760
# dn_join_cluster_retry_interval_ms=5000
####################
-### Target Config Nodes
+### Seed ConfigNode
####################
-# For the first ConfigNode to start, cn_target_config_node_list points to its
own cn_internal_address:cn_internal_port.
-# For other ConfigNodes that to join the cluster, target_config_node_list
points to any running ConfigNode's cn_internal_address:cn_internal_port.
+# dn_seed_config_node points to any running ConfigNode's
cn_internal_address:cn_internal_port.
# Format: address:port(,address:port)* e.g. 127.0.0.1:10710,127.0.0.1:10711
# Datatype: String
-dn_target_config_node_list=127.0.0.1:10710
+dn_seed_config_node=127.0.0.1:10710
####################
### Connection Configuration
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 0cf68f97426..e7685e25c0d 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -58,7 +58,6 @@ import java.io.IOException;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
@@ -862,8 +861,7 @@ public class IoTDBConfig {
private int schemaRegionConsensusPort = 10750;
/** Ip and port of config nodes. */
- private List<TEndPoint> targetConfigNodeList =
- Collections.singletonList(new TEndPoint("127.0.0.1", 10710));
+ private TEndPoint seedConfigNode = new TEndPoint("127.0.0.1", 10710);
/** The time of data node waiting for the next retry to join into the
cluster */
private long joinClusterRetryIntervalMs = TimeUnit.SECONDS.toMillis(5);
@@ -2913,12 +2911,12 @@ public class IoTDBConfig {
this.schemaRegionConsensusPort = schemaRegionConsensusPort;
}
- public List<TEndPoint> getTargetConfigNodeList() {
- return targetConfigNodeList;
+ public TEndPoint getSeedConfigNode() {
+ return seedConfigNode;
}
- public void setTargetConfigNodeList(List<TEndPoint> targetConfigNodeList) {
- this.targetConfigNodeList = targetConfigNodeList;
+ public void setSeedConfigNode(TEndPoint seedConfigNode) {
+ this.seedConfigNode = seedConfigNode;
}
public long getJoinClusterRetryIntervalMs() {
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index cb20779d0b7..7d0f230bc16 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -220,7 +220,7 @@ public class IoTDBDescriptor {
}
}
- public void loadProperties(Properties properties) throws BadNodeUrlException
{
+ public void loadProperties(Properties properties) throws
BadNodeUrlException, IOException {
conf.setClusterSchemaLimitLevel(
properties
.getProperty("cluster_schema_limit_level",
conf.getClusterSchemaLimitLevel())
@@ -2015,16 +2015,25 @@ public class IoTDBDescriptor {
false));
}
- public void loadClusterProps(Properties properties) {
- String configNodeUrls =
properties.getProperty(IoTDBConstant.DN_TARGET_CONFIG_NODE_LIST);
+ public void loadClusterProps(Properties properties) throws IOException {
+ String configNodeUrls =
properties.getProperty(IoTDBConstant.DN_SEED_CONFIG_NODE);
+ if (configNodeUrls == null) {
+ configNodeUrls =
properties.getProperty(IoTDBConstant.DN_TARGET_CONFIG_NODE_LIST);
+ logger.warn(
+ "The parameter dn_target_config_node_list has been abandoned, "
+ + "only the first ConfigNode address will be used to join in the
cluster. "
+ + "Please use dn_seed_config_node instead.");
+ }
if (configNodeUrls != null) {
try {
configNodeUrls = configNodeUrls.trim();
-
conf.setTargetConfigNodeList(NodeUrlUtils.parseTEndPointUrls(configNodeUrls));
+
conf.setSeedConfigNode(NodeUrlUtils.parseTEndPointUrls(configNodeUrls).get(0));
} catch (BadNodeUrlException e) {
- logger.error(
- "Config nodes are set in wrong format, please set them like
127.0.0.1:10710,127.0.0.1:10712");
+ logger.error("ConfigNodes are set in wrong format, please set them
like 127.0.0.1:10710");
}
+ } else {
+ throw new IOException(
+ "The parameter dn_seed_config_node is not set, this DataNode will
not join in any cluster.");
}
conf.setInternalAddress(
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
index 038996a9c6d..8bba3a10d31 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -97,6 +97,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -166,7 +167,8 @@ public class DataNode implements DataNodeMBean {
isFirstStart = prepareDataNode();
// Set target ConfigNodeList from iotdb-datanode.properties file
-
ConfigNodeInfo.getInstance().updateConfigNodeList(config.getTargetConfigNodeList());
+ ConfigNodeInfo.getInstance()
+
.updateConfigNodeList(Collections.singletonList(config.getSeedConfigNode()));
// Pull and check system configurations from ConfigNode-leader
pullAndCheckSystemConfigurations();
@@ -392,7 +394,7 @@ public class DataNode implements DataNodeMBean {
// All tries failed
logger.error(
"Cannot register into cluster after {} retries. "
- + "Please check dn_target_config_node_list in
iotdb-datanode.properties.",
+ + "Please check dn_seed_config_node in
iotdb-datanode.properties.",
DEFAULT_RETRY);
throw new StartupException("Cannot register into the cluster.");
}
@@ -453,7 +455,7 @@ public class DataNode implements DataNodeMBean {
// All tries failed
logger.error(
"Cannot send restart DataNode request to ConfigNode-leader after {}
retries. "
- + "Please check dn_target_config_node_list in
iotdb-datanode.properties.",
+ + "Please check dn_seed_config_node in
iotdb-datanode.properties.",
DEFAULT_RETRY);
throw new StartupException("Cannot send restart DataNode request to
ConfigNode-leader.");
}
diff --git
a/iotdb-core/datanode/src/test/resources/datanode1conf/iotdb-datanode.properties
b/iotdb-core/datanode/src/test/resources/datanode1conf/iotdb-datanode.properties
index 5d5e8340d5c..44924be86fd 100644
---
a/iotdb-core/datanode/src/test/resources/datanode1conf/iotdb-datanode.properties
+++
b/iotdb-core/datanode/src/test/resources/datanode1conf/iotdb-datanode.properties
@@ -26,7 +26,7 @@ dn_mpp_data_exchange_port=10740
dn_schema_region_consensus_port=10750
dn_data_region_consensus_port=10760
-dn_target_config_node_list=127.0.0.1:10710,127.0.0.1:10711,127.0.0.1:10712
+dn_seed_config_node=127.0.0.1:10710
dn_system_dir=target/datanode1/system
dn_data_dirs=target/datanode1/data
diff --git
a/iotdb-core/datanode/src/test/resources/datanode2conf/iotdb-datanode.properties
b/iotdb-core/datanode/src/test/resources/datanode2conf/iotdb-datanode.properties
index 43fa3fa8d63..7e36e385d3e 100644
---
a/iotdb-core/datanode/src/test/resources/datanode2conf/iotdb-datanode.properties
+++
b/iotdb-core/datanode/src/test/resources/datanode2conf/iotdb-datanode.properties
@@ -26,7 +26,7 @@ dn_mpp_data_exchange_port=10741
dn_schema_region_consensus_port=10751
dn_data_region_consensus_port=10761
-dn_target_config_node_list=127.0.0.1:10710,127.0.0.1:10711,127.0.0.1:10712
+dn_seed_config_node=127.0.0.1:10710
dn_system_dir=target/datanode2/system
dn_data_dirs=target/datanode2/data
diff --git
a/iotdb-core/datanode/src/test/resources/datanode3conf/iotdb-datanode.properties
b/iotdb-core/datanode/src/test/resources/datanode3conf/iotdb-datanode.properties
index 5ba1bd38ddc..7330e3a11d6 100644
---
a/iotdb-core/datanode/src/test/resources/datanode3conf/iotdb-datanode.properties
+++
b/iotdb-core/datanode/src/test/resources/datanode3conf/iotdb-datanode.properties
@@ -26,7 +26,7 @@ dn_mpp_data_exchange_port=10742
dn_schema_region_consensus_port=10752
dn_data_region_consensus_port=10762
-dn_target_config_node_list=127.0.0.1:10710,127.0.0.1:10711,127.0.0.1:10712
+dn_seed_config_node=127.0.0.1:10710
dn_system_dir=target/datanode3/system
dn_data_dirs=target/datanode3/data
diff --git a/iotdb-core/datanode/src/test/resources/iotdb-datanode.properties
b/iotdb-core/datanode/src/test/resources/iotdb-datanode.properties
index 7d730ba7d61..6cdd3134b79 100644
--- a/iotdb-core/datanode/src/test/resources/iotdb-datanode.properties
+++ b/iotdb-core/datanode/src/test/resources/iotdb-datanode.properties
@@ -26,3 +26,4 @@ minimum_pbtree_segment_in_bytes=0
page_cache_in_pbtree=10
dn_internal_address=0.0.0.0
dn_sync_dir=target/sync
+dn_seed_config_node=127.0.0.1:10710
\ No newline at end of file
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
index b19f6f0ec63..02cd2c2106b 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
@@ -66,8 +66,10 @@ public class IoTDBConstant {
public static final String DN_INTERNAL_PORT = "dn_internal_port";
public static final String CN_CONSENSUS_PORT = "cn_consensus_port";
+ public static final String CN_SEED_CONFIG_NODE = "cn_seed_config_node";
public static final String CN_TARGET_CONFIG_NODE_LIST =
"cn_target_config_node_list";
- public static final String DN_TARGET_CONFIG_NODE_LIST =
"dn_target_config_node_list";
+ public static final String DN_SEED_CONFIG_NODE = "dn_seed_config_node";
+ public static final String DN_TARGET_CONFIG_NODE_LIST =
"dn_target_config_node_list ";
public static final String CLUSTER_NAME = "cluster_name";
public static final String DEFAULT_CLUSTER_NAME = "defaultCluster";