You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2022/11/14 06:59:44 UTC
[iotdb] 01/02: fix the problem that internal_address is not consistent with target_confignode when first starts
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch beyyes/fix_IOTDB4849
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit dbb8010a6bd1f5d6640665bbe7a1a7677f8c9c5a
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Mon Nov 14 14:35:16 2022 +0800
fix the problem that internal_address is not consistent with target_confignode when first starts
---
.../org/apache/iotdb/confignode/manager/ConfigManager.java | 12 +++++++++---
.../apache/iotdb/confignode/manager/node/NodeManager.java | 10 ++++++++++
2 files changed, 19 insertions(+), 3 deletions(-)
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 2baaf0a600..542e65b261 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
@@ -240,9 +240,15 @@ public class ConfigManager implements IManager {
}
public void close() throws IOException {
- consensusManager.close();
- partitionManager.getRegionMaintainer().shutdown();
- procedureManager.shiftExecutor(false);
+ if (consensusManager != null) {
+ consensusManager.close();
+ }
+ if (partitionManager != null) {
+ partitionManager.getRegionMaintainer().shutdown();
+ }
+ if (procedureManager != null) {
+ procedureManager.shiftExecutor(false);
+ }
}
@Override
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
index 3db90ba4fc..90b24f4dda 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
@@ -356,6 +356,16 @@ public class NodeManager {
}
public TConfigNodeRegisterResp registerConfigNode(TConfigNodeRegisterReq req) {
+ if (configManager.getConsensusManager() == null) {
+ TSStatus errorStatus = new TSStatus(TSStatusCode.ERROR_GLOBAL_CONFIG.getStatusCode());
+ errorStatus.setMessage(
+ "ConsensusManager of target-ConfigNode is not initialized, "
+ + "please make sure the target-ConfigNode has been started successfully.");
+ return new TConfigNodeRegisterResp()
+ .setStatus(errorStatus)
+ .setConfigNodeId(ERROR_STATUS_NODE_ID);
+ }
+
// Check global configuration
TSStatus status = configManager.getConsensusManager().confirmLeader();