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/22 10:37:31 UTC
[iotdb] branch master updated: [IOTDB-5007] Changed the logic of register unclean datanode (#8077)
This is an automated email from the ASF dual-hosted git repository.
caogaofei 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 6c70719095 [IOTDB-5007] Changed the logic of register unclean datanode (#8077)
6c70719095 is described below
commit 6c70719095d2fe9f954613819d31ffeeaa1ad07b
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Tue Nov 22 18:37:25 2022 +0800
[IOTDB-5007] Changed the logic of register unclean datanode (#8077)
---
.../java/org/apache/iotdb/confignode/manager/node/NodeManager.java | 5 +++--
docs/UserGuide/API/Status-Codes.md | 2 +-
docs/zh/UserGuide/API/Status-Codes.md | 2 +-
server/src/main/java/org/apache/iotdb/db/service/DataNode.java | 4 ++++
service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java | 2 +-
5 files changed, 10 insertions(+), 5 deletions(-)
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 6e7f21da20..d98df75f48 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
@@ -251,8 +251,9 @@ public class NodeManager {
status.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
status.setMessage("registerDataNode success.");
} else {
- status.setCode(TSStatusCode.REGISTER_REMOVED_DATANODE.getStatusCode());
- status.setMessage("Cannot register datanode, maybe this datanode is already removed.");
+ status.setCode(TSStatusCode.REGISTER_DATANODE_WITH_WRONG_ID.getStatusCode());
+ status.setMessage(
+ "Cannot register datanode with wrong id. Maybe it's already removed, or it has another datanode's run-time properties.");
}
dataSet.setStatus(status);
diff --git a/docs/UserGuide/API/Status-Codes.md b/docs/UserGuide/API/Status-Codes.md
index d2c5b1b543..9d26153bfe 100644
--- a/docs/UserGuide/API/Status-Codes.md
+++ b/docs/UserGuide/API/Status-Codes.md
@@ -129,7 +129,7 @@ Here is a list of Status Code and related message:
|1004|DATANODE_NOT_EXIST|DataNode not exist error|
|1005|DATANODE_STOP_ERROR|DataNode stop error|
|1006|REMOVE_DATANODE_ERROR|Remove datanode failed|
-|1007|REGISTER_REMOVED_DATANODE|The DataNode to be registered is removed before|
+|1007|REGISTER_DATANODE_WITH_WRONG_ID|The DataNode to be registered has incorrect register id|
|1008|CAN_NOT_CONNECT_DATANODE|Can not connect to DataNode|
|1100|LOAD_FILE_ERROR|Meet error while loading file|
|1101|LOAD_PIECE_OF_TSFILE_ERROR|Error when load a piece of TsFile when loading|
diff --git a/docs/zh/UserGuide/API/Status-Codes.md b/docs/zh/UserGuide/API/Status-Codes.md
index 97a5d5a509..b8ccebbd02 100644
--- a/docs/zh/UserGuide/API/Status-Codes.md
+++ b/docs/zh/UserGuide/API/Status-Codes.md
@@ -130,7 +130,7 @@ try {
|1004|DATANODE_NOT_EXIST|此 DataNode 不存在|
|1005|DATANODE_STOP_ERROR|DataNode 关闭失败|
|1006|REMOVE_DATANODE_ERROR|移除 datanode 失败|
-|1007|REGISTER_REMOVED_DATANODE|注册的 DataNode 已经被移除|
+|1007|REGISTER_DATANODE_WITH_WRONG_ID|注册的 DataNode 中有错误的注册id|
|1008|CAN_NOT_CONNECT_DATANODE|连接 DataNode 失败|
|1100|LOAD_FILE_ERROR|加载文件错误|
|1101|LOAD_PIECE_OF_TSFILE_ERROR|加载 TsFile 片段异常|
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 c3f3e12e3a..4bd5f32cf4 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
@@ -255,6 +255,10 @@ public class DataNode implements DataNodeMBean {
logger.info("Register to the cluster successfully");
return;
+ } else if (dataNodeRegisterResp.getStatus().getCode()
+ == TSStatusCode.REGISTER_DATANODE_WITH_WRONG_ID.getStatusCode()) {
+ logger.error(dataNodeRegisterResp.getStatus().getMessage());
+ throw new StartupException("Cannot register to the cluster.");
}
} catch (IOException e) {
logger.warn("Cannot register to the cluster, because: {}", e.getMessage());
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index 3068ede11f..0d665fc28c 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@ -133,7 +133,7 @@ public enum TSStatusCode {
DATANODE_NOT_EXIST(1004),
DATANODE_STOP_ERROR(1005),
REMOVE_DATANODE_ERROR(1006),
- REGISTER_REMOVED_DATANODE(1007),
+ REGISTER_DATANODE_WITH_WRONG_ID(1007),
CAN_NOT_CONNECT_DATANODE(1008),
// Sync, Load TsFile