Skip to content

Commit 08380be

Browse files
authored
Fixed multiple configNode bugs (#17609)
* Fixed multiple config bugs * fix * Update ConfigRegionStateMachine.java * Address ConfigNode review feedback * Fix compile * Compile fix * Fix NodeManager Sonar issues * Fix ConfigNode WAL recovery and registration review feedback
1 parent 8a8a6da commit 08380be

11 files changed

Lines changed: 1162 additions & 141 deletions

File tree

‎iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ConfigNodeMessages.java‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,31 @@
2020
package org.apache.iotdb.confignode.i18n;
2121

2222
public final class ConfigNodeMessages {
23+
public static final String EXCEPTION_CONFIGNODE_SIMPLECONSENSUS_WRITES_ARE_DISABLED_AFTER_A_WAL_CLEANUP_FAILURE_RESTART_IS_REQUIRED_D52F0107 =
24+
"ConfigNode SimpleConsensus writes are disabled after a WAL cleanup failure; restart is required.";
25+
public static final String EXCEPTION_FAILED_TO_CLOSE_THE_CONFIGNODE_SIMPLECONSENSUS_LOG_WRITER_BC0F417C =
26+
"Failed to close the ConfigNode SimpleConsensus log writer.";
27+
public static final String EXCEPTION_FAILED_TO_APPLY_CONFIGNODE_ARG_THROUGH_CONSENSUS_LAYER_ARG_B4A985D7 =
28+
"Failed to apply ConfigNode %s through consensus layer: %s";
29+
public static final String EXCEPTION_FAILED_TO_PERSIST_VERSION_INFO_FOR_CONFIGNODE_ARG_ARG_REGISTRATION_REMAINS_PENDING_AND_MUST_BE_RETRIED_F662C350 =
30+
"Failed to persist version info for ConfigNode %d: %s. Registration remains pending and must be retried.";
31+
public static final String MESSAGE_UNKNOWN_ERROR_E9EEAFF8 =
32+
"unknown error";
33+
public static final String MESSAGE_STATUS_CODE_ARG_4B3BCD8B =
34+
"status code %d";
35+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_DATANODE_ARG_ARG_THE_REGISTRATION_HAS_BEEN_ROLLED_BACK_PLEASE_RETRY_THE_REGISTRATION_5DDB311F =
36+
"Failed to persist version info for DataNode %d: %s. The registration has been rolled back. Please retry the registration.";
37+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_DATANODE_ARG_ARG_THE_REGISTRATION_ROLLBACK_ALSO_FAILED_ARG_MANUAL_CLEANUP_MAY_BE_REQUIRED_BEFORE_RETRYING_THE_REGISTRATION_5463B5FF =
38+
"Failed to persist version info for DataNode %d: %s. The registration rollback also failed: %s. Manual cleanup may be required before retrying the registration.";
39+
public static final String LOG_FAILED_TO_ROLL_BACK_DATANODE_REGISTRATION_ARG_AFTER_VERSION_INFO_PERSISTENCE_FAILURE_VERSIONUPDATESTATUS_ARG_ROLLBACKSTATUS_ARG_437E6F09 =
40+
"Failed to roll back DataNode registration {} after version info persistence failure. versionUpdateStatus: {}, rollbackStatus: {}";
41+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_AINODE_ARG_ARG_THE_REGISTRATION_HAS_BEEN_ROLLED_BACK_PLEASE_RETRY_THE_REGISTRATION_7571C626 =
42+
"Failed to persist version info for AINode %d: %s. The registration has been rolled back. Please retry the registration.";
43+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_AINODE_ARG_ARG_THE_REGISTRATION_ROLLBACK_ALSO_FAILED_ARG_MANUAL_CLEANUP_MAY_BE_REQUIRED_BEFORE_RETRYING_THE_REGISTRATION_B9B1DCCD =
44+
"Failed to persist version info for AINode %d: %s. The registration rollback also failed: %s. Manual cleanup may be required before retrying the registration.";
45+
public static final String LOG_FAILED_TO_ROLL_BACK_AINODE_REGISTRATION_ARG_AFTER_VERSION_INFO_PERSISTENCE_FAILURE_VERSIONUPDATESTATUS_ARG_ROLLBACKSTATUS_ARG_BFF24BD4 =
46+
"Failed to roll back AINode registration {} after version info persistence failure. versionUpdateStatus: {}, rollbackStatus: {}";
47+
2348
public static final String
2449
EXCEPTION_FAILED_TO_CREATE_OR_ALTER_TOPIC_ILLEGAL_ARG_ARG_EXPECTED_A_LONG_VALUE_IN_MILLISECONDS_F79736B2 =
2550
"Failed to create or alter topic, illegal %s=%s, expected a long value in milliseconds";
@@ -61,6 +86,18 @@ public final class ConfigNodeMessages {
6186
"[ConfigRegion Update] Can't force logWriter for ConfigNode SimpleConsensus mode";
6287
public static final String CAN_T_SERIALIZE_CURRENT_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE =
6388
"[ConfigRegion Update] Can't serialize current ConfigPhysicalPlan for ConfigNode SimpleConsensus mode";
89+
public static final String PERSIST_CONFIGNODE_SIMPLECONSENSUS_LOG_FAILED =
90+
"Persist ConfigNode SimpleConsensus log failed: %s";
91+
public static final String PERSIST_CURRENT_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE_FAILED =
92+
"Persist current ConfigPhysicalPlan for ConfigNode SimpleConsensus mode failed";
93+
public static final String FAILED_TO_ROLLBACK_PERSISTED_CONFIGNODE_SIMPLECONSENSUS_LOG =
94+
"Failed to rollback persisted ConfigNode SimpleConsensus log. The persisted plan may be replayed after restart. Further SimpleConsensus writes are disabled until restart.";
95+
public static final String ROLLBACK_FAILED_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE_FAILED =
96+
"Rollback failed ConfigPhysicalPlan for ConfigNode SimpleConsensus mode failed, planType: {}, logFile: {}, truncateOffset: {}, endIndexBeforeWrite: {}. Further SimpleConsensus writes are disabled until restart.";
97+
public static final String SEAL_RECOVERED_CONFIGNODE_SIMPLECONSENSUS_LOG_FAILED =
98+
"Seal recovered ConfigNode SimpleConsensus log failed: {}";
99+
public static final String SIMPLECONSENSUS_LOG_WRITER_IS_NOT_INITIALIZED =
100+
"SimpleConsensus log writer is not initialized.";
64101
public static final String CAN_T_START_CONFIGNODE_CONSENSUS_GROUP =
65102
"Can't start ConfigNode consensus group!";
66103
public static final String CHANGE_REGIONS_LEADER_ERROR_ON_DATE_NODE =

‎iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ConfigNodeMessages.java‎

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,31 @@
2020
package org.apache.iotdb.confignode.i18n;
2121

2222
public final class ConfigNodeMessages {
23+
public static final String EXCEPTION_CONFIGNODE_SIMPLECONSENSUS_WRITES_ARE_DISABLED_AFTER_A_WAL_CLEANUP_FAILURE_RESTART_IS_REQUIRED_D52F0107 =
24+
"ConfigNode SimpleConsensus 因 WAL 清理失败已禁用写入,需要重启。";
25+
public static final String EXCEPTION_FAILED_TO_CLOSE_THE_CONFIGNODE_SIMPLECONSENSUS_LOG_WRITER_BC0F417C =
26+
"关闭 ConfigNode SimpleConsensus 日志写入器失败。";
27+
public static final String EXCEPTION_FAILED_TO_APPLY_CONFIGNODE_ARG_THROUGH_CONSENSUS_LAYER_ARG_B4A985D7 =
28+
"通过共识层应用 ConfigNode %s 失败:%s";
29+
public static final String EXCEPTION_FAILED_TO_PERSIST_VERSION_INFO_FOR_CONFIGNODE_ARG_ARG_REGISTRATION_REMAINS_PENDING_AND_MUST_BE_RETRIED_F662C350 =
30+
"持久化 ConfigNode %d 的版本信息失败:%s。注册尚未完成,需要重试。";
31+
public static final String MESSAGE_UNKNOWN_ERROR_E9EEAFF8 =
32+
"未知错误";
33+
public static final String MESSAGE_STATUS_CODE_ARG_4B3BCD8B =
34+
"状态码 %d";
35+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_DATANODE_ARG_ARG_THE_REGISTRATION_HAS_BEEN_ROLLED_BACK_PLEASE_RETRY_THE_REGISTRATION_5DDB311F =
36+
"持久化 DataNode %d 的版本信息失败:%s。注册已回滚,请重试注册。";
37+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_DATANODE_ARG_ARG_THE_REGISTRATION_ROLLBACK_ALSO_FAILED_ARG_MANUAL_CLEANUP_MAY_BE_REQUIRED_BEFORE_RETRYING_THE_REGISTRATION_5463B5FF =
38+
"持久化 DataNode %d 的版本信息失败:%s。注册回滚也失败:%s。重试注册前可能需要手动清理。";
39+
public static final String LOG_FAILED_TO_ROLL_BACK_DATANODE_REGISTRATION_ARG_AFTER_VERSION_INFO_PERSISTENCE_FAILURE_VERSIONUPDATESTATUS_ARG_ROLLBACKSTATUS_ARG_437E6F09 =
40+
"版本信息持久化失败后,回滚 DataNode {} 的注册失败。versionUpdateStatus: {},rollbackStatus: {}";
41+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_AINODE_ARG_ARG_THE_REGISTRATION_HAS_BEEN_ROLLED_BACK_PLEASE_RETRY_THE_REGISTRATION_7571C626 =
42+
"持久化 AINode %d 的版本信息失败:%s。注册已回滚,请重试注册。";
43+
public static final String MESSAGE_FAILED_TO_PERSIST_VERSION_INFO_FOR_AINODE_ARG_ARG_THE_REGISTRATION_ROLLBACK_ALSO_FAILED_ARG_MANUAL_CLEANUP_MAY_BE_REQUIRED_BEFORE_RETRYING_THE_REGISTRATION_B9B1DCCD =
44+
"持久化 AINode %d 的版本信息失败:%s。注册回滚也失败:%s。重试注册前可能需要手动清理。";
45+
public static final String LOG_FAILED_TO_ROLL_BACK_AINODE_REGISTRATION_ARG_AFTER_VERSION_INFO_PERSISTENCE_FAILURE_VERSIONUPDATESTATUS_ARG_ROLLBACKSTATUS_ARG_BFF24BD4 =
46+
"版本信息持久化失败后,回滚 AINode {} 的注册失败。versionUpdateStatus: {},rollbackStatus: {}";
47+
2348
public static final String
2449
EXCEPTION_FAILED_TO_CREATE_OR_ALTER_TOPIC_ILLEGAL_ARG_ARG_EXPECTED_A_LONG_VALUE_IN_MILLISECONDS_F79736B2 =
2550
"创建或修改 topic 失败,%s=%s 无效,需指定以毫秒为单位的 long 值";
@@ -57,10 +82,22 @@ public final class ConfigNodeMessages {
5782
"[ConfigRegion Update] 无法为 ConfigNode flushWALForSimpleConsensus 强制写入 logWriter";
5883
public static final String CAN_T_FORCE_LOGWRITER_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE =
5984
"[ConfigRegion Update] 无法为 ConfigNode SimpleConsensus 模式强制写入 logWriter";
60-
public static final String
61-
CAN_T_SERIALIZE_CURRENT_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE =
62-
"[ConfigRegion Update] 无法为 ConfigNode SimpleConsensus 模式序列化当前 ConfigPhysicalPlan";
63-
public static final String CAN_T_START_CONFIGNODE_CONSENSUS_GROUP = "无法启动 ConfigNode 共识组!";
85+
public static final String CAN_T_SERIALIZE_CURRENT_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE =
86+
"[ConfigRegion Update] 无法为 ConfigNode SimpleConsensus 模式序列化当前 ConfigPhysicalPlan";
87+
public static final String PERSIST_CONFIGNODE_SIMPLECONSENSUS_LOG_FAILED =
88+
"持久化 ConfigNode SimpleConsensus 日志失败:%s";
89+
public static final String PERSIST_CURRENT_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE_FAILED =
90+
"为 ConfigNode SimpleConsensus 模式持久化当前 ConfigPhysicalPlan 失败";
91+
public static final String FAILED_TO_ROLLBACK_PERSISTED_CONFIGNODE_SIMPLECONSENSUS_LOG =
92+
"回滚已持久化的 ConfigNode SimpleConsensus 日志失败。该 plan 可能会在重启后被重放。重启前将禁止后续 SimpleConsensus 写入。";
93+
public static final String ROLLBACK_FAILED_CONFIGPHYSICALPLAN_FOR_CONFIGNODE_SIMPLECONSENSUS_MODE_FAILED =
94+
"回滚 ConfigNode SimpleConsensus 模式下失败的 ConfigPhysicalPlan 失败,planType: {}, logFile: {}, truncateOffset: {}, endIndexBeforeWrite: {}。重启前将禁止后续 SimpleConsensus 写入。";
95+
public static final String SEAL_RECOVERED_CONFIGNODE_SIMPLECONSENSUS_LOG_FAILED =
96+
"封存恢复出的 ConfigNode SimpleConsensus 日志失败:{}";
97+
public static final String SIMPLECONSENSUS_LOG_WRITER_IS_NOT_INITIALIZED =
98+
"SimpleConsensus log writer 未初始化。";
99+
public static final String CAN_T_START_CONFIGNODE_CONSENSUS_GROUP =
100+
"无法启动 ConfigNode 共识组!";
64101
public static final String CHANGE_REGIONS_LEADER_ERROR_ON_DATE_NODE =
65102
"在 DataNode: {} 上切换 region leader 失败";
66103
public static final String CHECK_BEFORE_DROPPING_TOPIC_TOPIC_EXISTS =

0 commit comments

Comments
 (0)