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

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

commit 4dfd56d34ad3f1401cc0606086e0bd5a36be4217
Author: YongzaoDan <[email protected]>
AuthorDate: Tue Oct 17 16:14:32 2023 +0800

    Finish
---
 .../main/DockerCompose/docker-compose-cluster-1c2d.yml    |  6 +++---
 .../src/main/DockerCompose/docker-compose-host-3c3d.yml   |  4 ++--
 .../src/main/DockerCompose/docker-compose-standalone.yml  |  4 ++--
 docker/src/main/Dockerfile-1c1d                           |  4 ++--
 .../iotdb/it/env/cluster/node/ConfigNodeWrapper.java      |  3 +--
 .../apache/iotdb/it/env/cluster/node/DataNodeWrapper.java |  2 +-
 .../assembly/resources/conf/iotdb-confignode.properties   |  6 +++---
 .../iotdb/confignode/conf/ConfigNodeDescriptor.java       | 15 ++++++++++-----
 .../iotdb/confignode/conf/ConfigNodeRemoveCheck.java      |  2 +-
 .../iotdb/confignode/conf/ConfigNodeStartupCheck.java     |  4 ++--
 .../confignode/manager/node/ClusterNodeStartUtils.java    |  4 ++--
 .../org/apache/iotdb/confignode/service/ConfigNode.java   |  2 +-
 .../resources/confignode1conf/iotdb-confignode.properties |  2 +-
 .../resources/confignode2conf/iotdb-confignode.properties |  2 +-
 .../resources/confignode3conf/iotdb-confignode.properties |  2 +-
 .../src/assembly/resources/conf/iotdb-datanode.properties |  6 +++---
 .../main/java/org/apache/iotdb/db/conf/IoTDBConfig.java   | 12 +++++-------
 .../java/org/apache/iotdb/db/conf/IoTDBDescriptor.java    | 14 ++++++++++----
 .../main/java/org/apache/iotdb/db/service/DataNode.java   |  8 +++++---
 .../resources/datanode1conf/iotdb-datanode.properties     |  2 +-
 .../resources/datanode2conf/iotdb-datanode.properties     |  2 +-
 .../resources/datanode3conf/iotdb-datanode.properties     |  2 +-
 .../java/org/apache/iotdb/commons/conf/IoTDBConstant.java |  4 +++-
 23 files changed, 62 insertions(+), 50 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..5b1093e3054 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_target_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_target_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_target_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..4388f05c173 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_target_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_target_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..6aac4496819 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_target_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_target_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..d7800e24d7b 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_target_config_node=127.0.0.1:10710/cn_target_config_node=0.0.0.0:10710/g' 
/iotdb/conf/iotdb-confignode.properties \
+  && sed -i 
's/dn_target_config_node=127.0.0.1:10710/dn_target_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/node/ConfigNodeWrapper.java
 
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/ConfigNodeWrapper.java
index e33b5fcb86e..6c0390c1211 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
@@ -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_TARGET_CONFIG_NODE, 
targetConfigNodes);
     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..2219f1f710e 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
@@ -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_TARGET_CONFIG_NODE, 
targetConfigNode);
     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..d6b2b2c3dee 100644
--- 
a/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
+++ 
b/iotdb-core/confignode/src/assembly/resources/conf/iotdb-confignode.properties
@@ -38,12 +38,12 @@ cn_consensus_port=10720
 ### Target Config Nodes
 ####################
 
-# 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.
+# For the first ConfigNode to start, cn_target_config_node points to its own 
cn_internal_address:cn_internal_port.
+# For other ConfigNodes that to join the cluster, cn_target_config_node points 
to any running ConfigNode's cn_internal_address:cn_internal_port.
 # Note: Currently only endpoints that point to a single confignode are 
supported
 # Format: address:port   e.g. 127.0.0.1:10710
 # Datatype: String
-cn_target_config_node_list=127.0.0.1:10710
+cn_target_config_node=127.0.0.1:10710
 
 ####################
 ### Directory configuration
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 c3cde6d07b2..fbcbc090a46 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
@@ -168,11 +168,16 @@ 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);
+    String targetConfigNodes = 
properties.getProperty(IoTDBConstant.CN_TARGET_CONFIG_NODE, null);
+    if (targetConfigNodes == null) {
+      targetConfigNodes = 
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_target_config_node instead.");
+    }
     if (targetConfigNodes != null) {
-      
conf.setTargetConfigNode(NodeUrlUtils.parseTEndPointUrl(targetConfigNodes.trim()));
+      
conf.setTargetConfigNode(NodeUrlUtils.parseTEndPointUrls(targetConfigNodes.trim()).get(0));
     }
 
     conf.setSeriesSlotNum(
@@ -858,7 +863,7 @@ 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 target_config_node points to itself
    */
   public boolean isSeedConfigNode() {
     return 
(conf.getInternalAddress().equals(conf.getTargetConfigNode().getIp())
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
index 62c94bee1f1..0964013ca20 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeRemoveCheck.java
@@ -127,7 +127,7 @@ public class ConfigNodeRemoveCheck {
   }
 
   /**
-   * config_node_list of confignode-system.properties
+   * config_node of confignode-system.properties
    *
    * @throws BadNodeUrlException loadConfigNodeList()
    * @throws IOException loadConfigNodeList()
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..ff420bb57e5 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,12 +89,12 @@ 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 target_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())) {
       throw new ConfigurationException(
-          IoTDBConstant.CN_TARGET_CONFIG_NODE_LIST,
+          IoTDBConstant.CN_TARGET_CONFIG_NODE,
           CONF.getTargetConfigNode().getIp() + ":" + 
CONF.getTargetConfigNode().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..792cc680797 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 target_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 target_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..c3b3d1a2798 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
@@ -318,7 +318,7 @@ public class ConfigNode implements ConfigNodeMBean {
     TEndPoint targetConfigNode = CONF.getTargetConfigNode();
     if (targetConfigNode == null) {
       LOGGER.error(
-          "Please set the cn_target_config_node_list parameter in 
iotdb-confignode.properties file.");
+          "Please set the cn_target_config_node parameter in 
iotdb-confignode.properties file.");
       throw new StartupException("The targetConfigNode setting in conf is 
empty");
     }
 
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..cc1a6f589e0 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_target_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..530af6bbfe7 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_target_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..ee34bb8d75f 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_target_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 2170c6ec004..36cb9c19765 100644
--- a/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
+++ b/iotdb-core/datanode/src/assembly/resources/conf/iotdb-datanode.properties
@@ -64,11 +64,11 @@ dn_data_region_consensus_port=10760
 ### Target Config Nodes
 ####################
 
-# 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.
+# For the first ConfigNode to start, cn_target_config_node points to its own 
cn_internal_address:cn_internal_port.
+# For other ConfigNodes that to join the cluster, target_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_target_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 e5594f85f81..0c57692dc64 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;
@@ -866,8 +865,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 targetConfigNode = 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);
@@ -2921,12 +2919,12 @@ public class IoTDBConfig {
     this.schemaRegionConsensusPort = schemaRegionConsensusPort;
   }
 
-  public List<TEndPoint> getTargetConfigNodeList() {
-    return targetConfigNodeList;
+  public TEndPoint getTargetConfigNode() {
+    return targetConfigNode;
   }
 
-  public void setTargetConfigNodeList(List<TEndPoint> targetConfigNodeList) {
-    this.targetConfigNodeList = targetConfigNodeList;
+  public void setTargetConfigNode(List<TEndPoint> targetConfigNodes) {
+    this.targetConfigNode = targetConfigNodes.get(0);
   }
 
   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 7850bf6b103..c5b5e70006f 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
@@ -1993,14 +1993,20 @@ public class IoTDBDescriptor {
   }
 
   public void loadClusterProps(Properties properties) {
-    String configNodeUrls = 
properties.getProperty(IoTDBConstant.DN_TARGET_CONFIG_NODE_LIST);
+    String configNodeUrls = 
properties.getProperty(IoTDBConstant.DN_TARGET_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_target_config_node instead.");
+    }
     if (configNodeUrls != null) {
       try {
         configNodeUrls = configNodeUrls.trim();
-        
conf.setTargetConfigNodeList(NodeUrlUtils.parseTEndPointUrls(configNodeUrls));
+        
conf.setTargetConfigNode(NodeUrlUtils.parseTEndPointUrls(configNodeUrls));
       } 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");
       }
     }
 
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..bf6137c4854 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.getTargetConfigNode()));
 
       // 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_target_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_target_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..f5e37c417f5 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_target_config_node=127.0.0.1:10710,127.0.0.1:10711,127.0.0.1:10712
 
 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..d5648bc7bb0 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_target_config_node=127.0.0.1:10710,127.0.0.1:10711,127.0.0.1:10712
 
 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..030fd3c28dd 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_target_config_node=127.0.0.1:10710,127.0.0.1:10711,127.0.0.1:10712
 
 dn_system_dir=target/datanode3/system
 dn_data_dirs=target/datanode3/data
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..fcaaf091d5e 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_TARGET_CONFIG_NODE = "cn_target_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_TARGET_CONFIG_NODE = "dn_target_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";

Reply via email to