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