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

haonan 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 015a4960d3 [IOTDB-3672] Fix reloading online config nodes from 
configuration (#6492)
015a4960d3 is described below

commit 015a4960d37a2885b76a363f1e36ffec48e4827d
Author: Mrquan <[email protected]>
AuthorDate: Tue Jun 28 22:21:10 2022 +0800

    [IOTDB-3672] Fix reloading online config nodes from configuration (#6492)
---
 server/src/assembly/resources/conf/iotdb-datanode.properties  | 11 +++++++----
 .../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java   | 10 +++++-----
 .../main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java   |  6 +++---
 .../src/main/java/org/apache/iotdb/db/service/DataNode.java   |  4 +---
 4 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/server/src/assembly/resources/conf/iotdb-datanode.properties 
b/server/src/assembly/resources/conf/iotdb-datanode.properties
index 427bff0438..540b419341 100644
--- a/server/src/assembly/resources/conf/iotdb-datanode.properties
+++ b/server/src/assembly/resources/conf/iotdb-datanode.properties
@@ -59,10 +59,13 @@ data_region_consensus_port=40010
 # port for consensus's communication for schema region between cluster nodes.
 schema_region_consensus_port=50010
 
-# comma-separated {IP/DOMAIN}:internal_port pairs
-# Data nodes store config nodes ip and port to communicate with config nodes.
-# Several nodes will be picked randomly to send the request, the number of 
nodes
-# picked depends on the number of retries.
+# Used for connecting to the ConfigNodeGroup
+# Format: ip:port
+# where the ip should be consistent with the target ConfigNode's 
confignode_rpc_address,
+# and the port should be consistent with the target ConfigNode's 
confignode_rpc_port.
+# When successfully connecting to the ConfigNodeGroup, DataNode will get all 
online
+# config nodes and store them in memory.
+# Datatype: String
 config_nodes=127.0.0.1:22277
 
 # Datatype: boolean
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java 
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 7d898bf2c0..30d9fe70a3 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -840,7 +840,7 @@ public class IoTDBConfig {
   private int schemaRegionConsensusPort = 50010;
 
   /** Ip and port of config nodes. */
-  private List<TEndPoint> configNodeList =
+  private List<TEndPoint> targetConfigNodeList =
       Collections.singletonList(new TEndPoint("127.0.0.1", 22277));
 
   /** The max time of data node waiting to join into the cluster */
@@ -2736,12 +2736,12 @@ public class IoTDBConfig {
     this.schemaRegionConsensusPort = schemaRegionConsensusPort;
   }
 
-  public List<TEndPoint> getConfigNodeList() {
-    return configNodeList;
+  public List<TEndPoint> getTargetConfigNodeList() {
+    return targetConfigNodeList;
   }
 
-  public void setConfigNodeList(List<TEndPoint> configNodeList) {
-    this.configNodeList = configNodeList;
+  public void setTargetConfigNodeList(List<TEndPoint> targetConfigNodeList) {
+    this.targetConfigNodeList = targetConfigNodeList;
   }
 
   public long getJoinClusterTimeOutMs() {
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java 
b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index b50aead65c..eb4280dfca 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -935,7 +935,7 @@ public class IoTDBDescriptor {
       
conf.setInternalIp(InetAddress.getByName(conf.getInternalIp()).getHostAddress());
     }
 
-    for (TEndPoint configNode : conf.getConfigNodeList()) {
+    for (TEndPoint configNode : conf.getTargetConfigNodeList()) {
       boolean isInvalidNodeIp = InetAddresses.isInetAddress(configNode.ip);
       if (!isInvalidNodeIp) {
         String newNodeIP = 
InetAddress.getByName(configNode.ip).getHostAddress();
@@ -947,7 +947,7 @@ public class IoTDBDescriptor {
         "after replace, the rpcIP={}, internalIP={}, configNodeUrls={}",
         conf.getRpcAddress(),
         conf.getInternalIp(),
-        conf.getConfigNodeList());
+        conf.getTargetConfigNodeList());
   }
 
   private void loadWALProps(Properties properties) {
@@ -1648,7 +1648,7 @@ public class IoTDBDescriptor {
     String configNodeUrls = properties.getProperty("config_nodes");
     if (configNodeUrls != null) {
       try {
-        
conf.setConfigNodeList(NodeUrlUtils.parseTEndPointUrls(configNodeUrls));
+        
conf.setTargetConfigNodeList(NodeUrlUtils.parseTEndPointUrls(configNodeUrls));
       } catch (BadNodeUrlException e) {
         logger.error(
             "Config nodes are set in wrong format, please set them like 
0.0.0.0:22277,0.0.0.0:22281");
diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java 
b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
index ead4105378..cda183bfeb 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -171,7 +171,7 @@ public class DataNode implements DataNodeMBean {
     int retry = DEFAULT_JOIN_RETRY;
 
     ConfigNodeInfo.getInstance()
-        
.updateConfigNodeList(IoTDBDescriptor.getInstance().getConfig().getConfigNodeList());
+        
.updateConfigNodeList(IoTDBDescriptor.getInstance().getConfig().getTargetConfigNodeList());
     while (retry > 0) {
       logger.info("start registering to the cluster.");
       try (ConfigNodeClient configNodeClient = new ConfigNodeClient()) {
@@ -346,8 +346,6 @@ public class DataNode implements DataNodeMBean {
   private void activateCurrentDataNode() throws StartupException {
     int retry = DEFAULT_JOIN_RETRY;
 
-    ConfigNodeInfo.getInstance()
-        
.updateConfigNodeList(IoTDBDescriptor.getInstance().getConfig().getConfigNodeList());
     while (retry > 0) {
       logger.info("start joining the cluster.");
       try (ConfigNodeClient configNodeClient = new ConfigNodeClient()) {

Reply via email to