You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/01/13 07:33:55 UTC
[iotdb] branch rel/1.0 updated: [To rel/1.0] Separate SYNC_CONNECTION_ERROR and DISPATCH_ERROR (#8809)
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch rel/1.0
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/1.0 by this push:
new 60dfefa0c4 [To rel/1.0] Separate SYNC_CONNECTION_ERROR and DISPATCH_ERROR (#8809)
60dfefa0c4 is described below
commit 60dfefa0c4493d0ae739c5b70e545c5c6ba7d4d5
Author: Haonan <hh...@outlook.com>
AuthorDate: Fri Jan 13 15:33:49 2023 +0800
[To rel/1.0] Separate SYNC_CONNECTION_ERROR and DISPATCH_ERROR (#8809)
---
docs/UserGuide/Reference/Status-Codes.md | 233 +++++++++++----------
docs/zh/UserGuide/Reference/Status-Codes.md | 233 +++++++++++----------
.../apache/iotdb/commons/utils/StatusUtils.java | 4 +-
.../db/mpp/plan/scheduler/ClusterScheduler.java | 2 +-
.../scheduler/FragmentInstanceDispatcherImpl.java | 2 +-
.../scheduler/load/LoadTsFileDispatcherImpl.java | 4 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 +
7 files changed, 241 insertions(+), 238 deletions(-)
diff --git a/docs/UserGuide/Reference/Status-Codes.md b/docs/UserGuide/Reference/Status-Codes.md
index 9d26153bfe..752855fbc3 100644
--- a/docs/UserGuide/Reference/Status-Codes.md
+++ b/docs/UserGuide/Reference/Status-Codes.md
@@ -42,122 +42,123 @@ With Status Code, instead of writing codes like `if (e.getErrorMessage().contain
Here is a list of Status Code and related message:
-|Status Code|Status Type|Meanings|
-|:--|:---|:---|
-|200|SUCCESS_STATUS||
-|201|INCOMPATIBLE_VERSION|Incompatible version|
-|202|CONFIGURATION_ERROR|Configuration error|
-|203|START_UP_ERROR|Meet error while starting|
-|204|SHUT_DOWN_ERROR|Meet error while shutdown|
-|300|UNSUPPORTED_OPERATION|Unsupported operation|
-|301|EXECUTE_STATEMENT_ERROR|Execute statement error|
-|302|MULTIPLE_ERROR|Meet error when executing multiple statements|
-|303|ILLEGAL_PARAMETER|Parameter is illegal|
-|304|OVERLAP_WITH_EXISTING_TASK|Current task has some conflict with existing tasks|
-|305|INTERNAL_SERVER_ERROR|Internal server error|
-|400|REDIRECTION_RECOMMEND|Recommend Client redirection|
-|500|DATABASE_NOT_EXIST|Database does not exist|
-|501|DATABASE_ALREADY_EXISTS|Database already exist|
-|502|SERIES_OVERFLOW|Series number exceeds the threshold|
-|503|TIMESERIES_ALREADY_EXIST|Timeseries already exists|
-|504|TIMESERIES_IN_BLACK_LIST|Timeseries is being deleted|
-|505|ALIAS_ALREADY_EXIST|Alias already exists|
-|506|PATH_ALREADY_EXIST|Path already exists|
-|507|METADATA_ERROR|Meet error when dealing with metadata|
-|508|PATH_NOT_EXIST|Path does not exist|
-|509|ILLEGAL_PATH|Illegal path|
-|510|CREATE_TEMPLATE_ERROR|Create schema template error|
-|511|DUPLICATED_TEMPLATE|Schema template is duplicated|
-|512|UNDEFINED_TEMPLATE|Schema template is not defined|
-|513|TEMPLATE_NOT_SET|Schema template is not set|
-|514|DIFFERENT_TEMPLATE|Template is not consistent|
-|515|TEMPLATE_IS_IN_USE|Template is in use|
-|516|TEMPLATE_INCOMPATIBLE|Template is not compatible|
-|517|SEGMENT_NOT_FOUND|Segment not found|
-|518|PAGE_OUT_OF_SPACE|No enough space on schema page|
-|519|RECORD_DUPLICATED|Record is duplicated|
-|520|SEGMENT_OUT_OF_SPACE|No enough space on schema segment|
-|521|SCHEMA_FILE_NOT_EXISTS|SchemaFile does not exist|
-|522|OVERSIZE_RECORD|Size of record exceeds the threshold of page of SchemaFile|
-|523|SCHEMA_FILE_REDO_LOG_BROKEN|SchemaFile redo log has broken|
-|524|TEMPLATE_NOT_ACTIVATED|Schema template is not activated|
-|600|SYSTEM_READ_ONLY|IoTDB system is read only|
-|601|STORAGE_ENGINE_ERROR|Storage engine related error|
-|602|STORAGE_ENGINE_NOT_READY|The storage engine is in recovery, not ready fore accepting read/write operation|
-|603|DATAREGION_PROCESS_ERROR|DataRegion related error|
-|604|TSFILE_PROCESSOR_ERROR|TsFile processor related error|
-|605|WRITE_PROCESS_ERROR|Writing data related error|
-|606|WRITE_PROCESS_REJECT|Writing data rejected error|
-|607|OUT_OF_TTL|Insertion time is less than TTL time bound|
-|608|COMPACTION_ERROR|Meet error while merging|
-|609|ALIGNED_TIMESERIES_ERROR|Meet error in aligned timeseries|
-|610|WAL_ERROR|WAL error|
-|611|DISK_SPACE_INSUFFICIENT|Disk space is insufficient|
-|700|SQL_PARSE_ERROR|Meet error while parsing SQL|
-|701|SEMANTIC_ERROR|SQL semantic error|
-|702|GENERATE_TIME_ZONE_ERROR|Meet error while generating time zone|
-|703|SET_TIME_ZONE_ERROR|Meet error while setting time zone|
-|704|QUERY_NOT_ALLOWED|Query statements are not allowed error|
-|705|LOGICAL_OPERATOR_ERROR|Logical operator related error|
-|706|LOGICAL_OPTIMIZE_ERROR|Logical optimize related error|
-|707|UNSUPPORTED_FILL_TYPE|Unsupported fill type related error|
-|708|QUERY_PROCESS_ERROR|Query process related error|
-|709|MPP_MEMORY_NOT_ENOUGH|Not enough memory for task execution in MPP|
-|710|CLOSE_OPERATION_ERROR|Meet error in close operation|
-|711|TSBLOCK_SERIALIZE_ERROR|TsBlock serialization error|
-|712|INTERNAL_REQUEST_TIME_OUT|MPP Operation timeout|
-|713|INTERNAL_REQUEST_RETRY_ERROR|Internal operation retry failed|
-|800|AUTHENTICATION_ERROR|Error in authentication|
-|801|WRONG_LOGIN_PASSWORD|Username or password is wrong|
-|802|NOT_LOGIN|Has not logged in|
-|803|NO_PERMISSION|No permissions for this operation, please add privilege|
-|804|UNINITIALIZED_AUTH_ERROR|Uninitialized authorizer|
-|805|USER_NOT_EXIST|User does not exist|
-|806|ROLE_NOT_EXIST|Role does not exist|
-|807|CLEAR_PERMISSION_CACHE_ERROR|Error when clear the permission cache|
-|900|MIGRATE_REGION_ERROR|Error when migrate region|
-|901|CREATE_REGION_ERROR|Create region error|
-|902|DELETE_REGION_ERROR|Delete region error|
-|903|PARTITION_CACHE_UPDATE_ERROR|Update partition cache failed|
-|904|CONSENSUS_NOT_INITIALIZED|Consensus is not initialized and cannot provide service|
-|905|REGION_LEADER_CHANGE_ERROR|Region leader migration failed|
-|906|NO_AVAILABLE_REGION_GROUP|Cannot find an available region group|
-|1000|DATANODE_ALREADY_REGISTERED|DataNode already registered in cluster|
-|1001|NO_ENOUGH_DATANODE|The number of DataNode is not enough, cannot remove DataNode or create enough replication|
-|1002|ADD_CONFIGNODE_ERROR|Add ConfigNode error|
-|1003|REMOVE_CONFIGNODE_ERROR|Remove ConfigNode error|
-|1004|DATANODE_NOT_EXIST|DataNode not exist error|
-|1005|DATANODE_STOP_ERROR|DataNode stop error|
-|1006|REMOVE_DATANODE_ERROR|Remove datanode failed|
-|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|
-|1102|DESERIALIZE_PIECE_OF_TSFILE_ERROR|Error when deserialize a piece of TsFile|
-|1103|CREATE_PIPE_SINK_ERROR|Failed to create a PIPE sink|
-|1104|PIPE_ERROR|PIPE error|
-|1105|PIPESERVER_ERROR|PIPE server error|
-|1106|SYNC_CONNECTION_ERROR|Meet error while sync connecting|
-|1107|SYNC_FILE_REDIRECTION_ERROR|Sync TsFile redirection error|
-|1108|SYNC_FILE_ERROR|Sync TsFile error|
-|1109|VERIFY_METADATA_ERROR|Meet error in validate timeseries schema|
-|1200|UDF_LOAD_CLASS_ERROR|Error when loading UDF class|
-|1201|UDF_DOWNLOAD_ERROR|DataNode cannot download UDF from ConfigNode|
-|1202|CREATE_UDF_ON_DATANODE_ERROR|Error when create UDF on DataNode|
-|1203|DROP_UDF_ON_DATANODE_ERROR|Error when drop a UDF on DataNode|
-|1300|CREATE_TRIGGER_ERROR|ConfigNode create trigger error|
-|1301|DROP_TRIGGER_ERROR|ConfigNode delete Trigger error|
-|1302|TRIGGER_FIRE_ERROR|Error when firing trigger|
-|1303|TRIGGER_LOAD_CLASS_ERROR|Error when load class of trigger|
-|1304|TRIGGER_DOWNLOAD_ERROR|Error when download trigger from ConfigNode|
-|1305|CREATE_TRIGGER_INSTANCE_ERROR|Error when create trigger instance|
-|1306|ACTIVE_TRIGGER_INSTANCE_ERROR|Error when activate trigger instance|
-|1307|DROP_TRIGGER_INSTANCE_ERROR|Error when drop trigger instance|
-|1308|UPDATE_TRIGGER_LOCATION_ERROR|Error when move stateful trigger to new datanode|
-|1400|NO_SUCH_CQ|CQ task does not exist|
-|1401|CQ_ALREADY_ACTIVE|CQ is already active|
-|1402|CQ_AlREADY_EXIST|CQ is already exist|
-|1403|CQ_UPDATE_LAST_EXEC_TIME_ERROR|CQ update last execution time failed|
+| Status Code | Status Type | Meanings |
+|:------------|:----------------------------------|:------------------------------------------------------------------------------------------|
+| 200 | SUCCESS_STATUS | |
+| 201 | INCOMPATIBLE_VERSION | Incompatible version |
+| 202 | CONFIGURATION_ERROR | Configuration error |
+| 203 | START_UP_ERROR | Meet error while starting |
+| 204 | SHUT_DOWN_ERROR | Meet error while shutdown |
+| 300 | UNSUPPORTED_OPERATION | Unsupported operation |
+| 301 | EXECUTE_STATEMENT_ERROR | Execute statement error |
+| 302 | MULTIPLE_ERROR | Meet error when executing multiple statements |
+| 303 | ILLEGAL_PARAMETER | Parameter is illegal |
+| 304 | OVERLAP_WITH_EXISTING_TASK | Current task has some conflict with existing tasks |
+| 305 | INTERNAL_SERVER_ERROR | Internal server error |
+| 306 | DISPATCH_ERROR | Meet error while dispatching |
+| 400 | REDIRECTION_RECOMMEND | Recommend Client redirection |
+| 500 | DATABASE_NOT_EXIST | Database does not exist |
+| 501 | DATABASE_ALREADY_EXISTS | Database already exist |
+| 502 | SERIES_OVERFLOW | Series number exceeds the threshold |
+| 503 | TIMESERIES_ALREADY_EXIST | Timeseries already exists |
+| 504 | TIMESERIES_IN_BLACK_LIST | Timeseries is being deleted |
+| 505 | ALIAS_ALREADY_EXIST | Alias already exists |
+| 506 | PATH_ALREADY_EXIST | Path already exists |
+| 507 | METADATA_ERROR | Meet error when dealing with metadata |
+| 508 | PATH_NOT_EXIST | Path does not exist |
+| 509 | ILLEGAL_PATH | Illegal path |
+| 510 | CREATE_TEMPLATE_ERROR | Create schema template error |
+| 511 | DUPLICATED_TEMPLATE | Schema template is duplicated |
+| 512 | UNDEFINED_TEMPLATE | Schema template is not defined |
+| 513 | TEMPLATE_NOT_SET | Schema template is not set |
+| 514 | DIFFERENT_TEMPLATE | Template is not consistent |
+| 515 | TEMPLATE_IS_IN_USE | Template is in use |
+| 516 | TEMPLATE_INCOMPATIBLE | Template is not compatible |
+| 517 | SEGMENT_NOT_FOUND | Segment not found |
+| 518 | PAGE_OUT_OF_SPACE | No enough space on schema page |
+| 519 | RECORD_DUPLICATED | Record is duplicated |
+| 520 | SEGMENT_OUT_OF_SPACE | No enough space on schema segment |
+| 521 | SCHEMA_FILE_NOT_EXISTS | SchemaFile does not exist |
+| 522 | OVERSIZE_RECORD | Size of record exceeds the threshold of page of SchemaFile |
+| 523 | SCHEMA_FILE_REDO_LOG_BROKEN | SchemaFile redo log has broken |
+| 524 | TEMPLATE_NOT_ACTIVATED | Schema template is not activated |
+| 600 | SYSTEM_READ_ONLY | IoTDB system is read only |
+| 601 | STORAGE_ENGINE_ERROR | Storage engine related error |
+| 602 | STORAGE_ENGINE_NOT_READY | The storage engine is in recovery, not ready fore accepting read/write operation |
+| 603 | DATAREGION_PROCESS_ERROR | DataRegion related error |
+| 604 | TSFILE_PROCESSOR_ERROR | TsFile processor related error |
+| 605 | WRITE_PROCESS_ERROR | Writing data related error |
+| 606 | WRITE_PROCESS_REJECT | Writing data rejected error |
+| 607 | OUT_OF_TTL | Insertion time is less than TTL time bound |
+| 608 | COMPACTION_ERROR | Meet error while merging |
+| 609 | ALIGNED_TIMESERIES_ERROR | Meet error in aligned timeseries |
+| 610 | WAL_ERROR | WAL error |
+| 611 | DISK_SPACE_INSUFFICIENT | Disk space is insufficient |
+| 700 | SQL_PARSE_ERROR | Meet error while parsing SQL |
+| 701 | SEMANTIC_ERROR | SQL semantic error |
+| 702 | GENERATE_TIME_ZONE_ERROR | Meet error while generating time zone |
+| 703 | SET_TIME_ZONE_ERROR | Meet error while setting time zone |
+| 704 | QUERY_NOT_ALLOWED | Query statements are not allowed error |
+| 705 | LOGICAL_OPERATOR_ERROR | Logical operator related error |
+| 706 | LOGICAL_OPTIMIZE_ERROR | Logical optimize related error |
+| 707 | UNSUPPORTED_FILL_TYPE | Unsupported fill type related error |
+| 708 | QUERY_PROCESS_ERROR | Query process related error |
+| 709 | MPP_MEMORY_NOT_ENOUGH | Not enough memory for task execution in MPP |
+| 710 | CLOSE_OPERATION_ERROR | Meet error in close operation |
+| 711 | TSBLOCK_SERIALIZE_ERROR | TsBlock serialization error |
+| 712 | INTERNAL_REQUEST_TIME_OUT | MPP Operation timeout |
+| 713 | INTERNAL_REQUEST_RETRY_ERROR | Internal operation retry failed |
+| 800 | UNINITIALIZED_AUTH_ERROR | Failed to initialize auth module |
+| 801 | WRONG_LOGIN_PASSWORD | Username or password is wrong |
+| 802 | NOT_LOGIN | Not login |
+| 803 | NO_PERMISSION | No permisstion to operate |
+| 804 | USER_NOT_EXIST | User not exists |
+| 805 | USER_ALREADY_EXIST | User already exists |
+| 806 | USER_ALREADY_HAS_ROLE | User already has target role |
+| 807 | USER_NOT_HAS_ROLE | User not has target role |
+| 900 | MIGRATE_REGION_ERROR | Error when migrate region |
+| 901 | CREATE_REGION_ERROR | Create region error |
+| 902 | DELETE_REGION_ERROR | Delete region error |
+| 903 | PARTITION_CACHE_UPDATE_ERROR | Update partition cache failed |
+| 904 | CONSENSUS_NOT_INITIALIZED | Consensus is not initialized and cannot provide service |
+| 905 | REGION_LEADER_CHANGE_ERROR | Region leader migration failed |
+| 906 | NO_AVAILABLE_REGION_GROUP | Cannot find an available region group |
+| 1000 | DATANODE_ALREADY_REGISTERED | DataNode already registered in cluster |
+| 1001 | NO_ENOUGH_DATANODE | The number of DataNode is not enough, cannot remove DataNode or create enough replication |
+| 1002 | ADD_CONFIGNODE_ERROR | Add ConfigNode error |
+| 1003 | REMOVE_CONFIGNODE_ERROR | Remove ConfigNode error |
+| 1004 | DATANODE_NOT_EXIST | DataNode not exist error |
+| 1005 | DATANODE_STOP_ERROR | DataNode stop error |
+| 1006 | REMOVE_DATANODE_ERROR | Remove datanode failed |
+| 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 |
+| 1102 | DESERIALIZE_PIECE_OF_TSFILE_ERROR | Error when deserialize a piece of TsFile |
+| 1103 | SYNC_CONNECTION_ERROR | Sync connection error |
+| 1104 | SYNC_FILE_REDIRECTION_ERROR | Sync TsFile redirection error |
+| 1105 | SYNC_FILE_ERROR | Sync TsFile error |
+| 1106 | CREATE_PIPE_SINK_ERROR | Failed to create a PIPE sink |
+| 1107 | PIPE_ERROR | PIPE error |
+| 1108 | PIPESERVER_ERROR | PIPE server error |
+| 1109 | VERIFY_METADATA_ERROR | Meet error in validate timeseries schema |
+| 1200 | UDF_LOAD_CLASS_ERROR | Error when loading UDF class |
+| 1201 | UDF_DOWNLOAD_ERROR | DataNode cannot download UDF from ConfigNode |
+| 1202 | CREATE_UDF_ON_DATANODE_ERROR | Error when create UDF on DataNode |
+| 1203 | DROP_UDF_ON_DATANODE_ERROR | Error when drop a UDF on DataNode |
+| 1300 | CREATE_TRIGGER_ERROR | ConfigNode create trigger error |
+| 1301 | DROP_TRIGGER_ERROR | ConfigNode delete Trigger error |
+| 1302 | TRIGGER_FIRE_ERROR | Error when firing trigger |
+| 1303 | TRIGGER_LOAD_CLASS_ERROR | Error when load class of trigger |
+| 1304 | TRIGGER_DOWNLOAD_ERROR | Error when download trigger from ConfigNode |
+| 1305 | CREATE_TRIGGER_INSTANCE_ERROR | Error when create trigger instance |
+| 1306 | ACTIVE_TRIGGER_INSTANCE_ERROR | Error when activate trigger instance |
+| 1307 | DROP_TRIGGER_INSTANCE_ERROR | Error when drop trigger instance |
+| 1308 | UPDATE_TRIGGER_LOCATION_ERROR | Error when move stateful trigger to new datanode |
+| 1400 | NO_SUCH_CQ | CQ task does not exist |
+| 1401 | CQ_ALREADY_ACTIVE | CQ is already active |
+| 1402 | CQ_AlREADY_EXIST | CQ is already exist |
+| 1403 | CQ_UPDATE_LAST_EXEC_TIME_ERROR | CQ update last execution time failed |
> All exceptions are refactored in the latest version by extracting uniform message into exception classes. Different error codes are added to all exceptions. When an exception is caught and a higher-level exception is thrown, the error code will keep and pass so that users will know the detailed error reason.
A base exception class "ProcessException" is also added to be extended by all exceptions.
diff --git a/docs/zh/UserGuide/Reference/Status-Codes.md b/docs/zh/UserGuide/Reference/Status-Codes.md
index b8ccebbd02..8fcdf810a2 100644
--- a/docs/zh/UserGuide/Reference/Status-Codes.md
+++ b/docs/zh/UserGuide/Reference/Status-Codes.md
@@ -43,122 +43,123 @@ try {
这里是状态码和相对应信息的列表:
-|状态码|状态类型|状态信息|
-|:--|:---|:---|
-|200|SUCCESS_STATUS|成功状态|
-|201|INCOMPATIBLE_VERSION|版本不兼容|
-|202|CONFIGURATION_ERROR|配置文件有错误项|
-|203|START_UP_ERROR|启动错误|
-|204|SHUT_DOWN_ERROR|关机错误|
-|300|UNSUPPORTED_OPERATION|不支持的操作|
-|301|EXECUTE_STATEMENT_ERROR|执行语句错误|
-|302|MULTIPLE_ERROR|多行语句执行错误|
-|303|ILLEGAL_PARAMETER|参数错误|
-|304|OVERLAP_WITH_EXISTING_TASK|与正在执行的其他操作冲突|
-|305|INTERNAL_SERVER_ERROR|服务器内部错误|
-|400|REDIRECTION_RECOMMEND|推荐客户端重定向|
-|500|DATABASE_NOT_EXIST|数据库不存在|
-|501|DATABASE_ALREADY_EXISTS|数据库已存在|
-|502|SERIES_OVERFLOW|序列数量超过阈值|
-|503|TIMESERIES_ALREADY_EXIST|时间序列已存在|
-|504|TIMESERIES_IN_BLACK_LIST|时间序列正在删除|
-|505|ALIAS_ALREADY_EXIST|路径别名已经存在|
-|506|PATH_ALREADY_EXIST|路径已经存在|
-|507|METADATA_ERROR|处理元数据错误|
-|508|PATH_NOT_EXIST|路径不存在|
-|509|ILLEGAL_PATH|路径不合法|
-|510|CREATE_TEMPLATE_ERROR|创建物理量模板失败|
-|511|DUPLICATED_TEMPLATE|元数据模板重复|
-|512|UNDEFINED_TEMPLATE|元数据模板未定义|
-|513|TEMPLATE_NOT_SET|元数据模板未设置|
-|514|DIFFERENT_TEMPLATE|元数据模板不一致|
-|515|TEMPLATE_IS_IN_USE|元数据模板正在使用|
-|516|TEMPLATE_INCOMPATIBLE|元数据模板不兼容|
-|517|SEGMENT_NOT_FOUND|未找到 Segment|
-|518|PAGE_OUT_OF_SPACE|SchemaFile 中 Page 空间不够|
-|519|RECORD_DUPLICATED|记录重复|
-|520|SEGMENT_OUT_OF_SPACE|SchemaFile 中 segment 空间不够|
-|521|SCHEMA_FILE_NOT_EXISTS|SchemaFile 不存在|
-|522|OVERSIZE_RECORD|记录大小超过元数据文件页面大小|
-|523|SCHEMA_FILE_REDO_LOG_BROKEN|SchemaFile 的 redo 日志损坏|
-|524|TEMPLATE_NOT_ACTIVATED|元数据模板未激活|
-|600|SYSTEM_READ_ONLY|IoTDB 系统只读|
-|601|STORAGE_ENGINE_ERROR|存储引擎相关错误|
-|602|STORAGE_ENGINE_NOT_READY|存储引擎还在恢复中,还不能接受读写操作|
-|603|DATAREGION_PROCESS_ERROR|DataRegion 相关错误|
-|604|TSFILE_PROCESSOR_ERROR|TsFile 处理器相关错误|
-|605|WRITE_PROCESS_ERROR|写入相关错误|
-|606|WRITE_PROCESS_REJECT|写入拒绝错误|
-|607|OUT_OF_TTL|插入时间少于 TTL 时间边界|
-|608|COMPACTION_ERROR|合并错误|
-|609|ALIGNED_TIMESERIES_ERROR|对齐时间序列错误|
-|610|WAL_ERROR|WAL 异常|
-|611|DISK_SPACE_INSUFFICIENT|磁盘空间不足|
-|700|SQL_PARSE_ERROR|SQL 语句分析错误|
-|701|SEMANTIC_ERROR|SQL 语义错误|
-|702|GENERATE_TIME_ZONE_ERROR|生成时区错误|
-|703|SET_TIME_ZONE_ERROR|设置时区错误|
-|704|QUERY_NOT_ALLOWED|查询语句不允许|
-|705|LOGICAL_OPERATOR_ERROR|逻辑符相关错误|
-|706|LOGICAL_OPTIMIZE_ERROR|逻辑优化相关错误|
-|707|UNSUPPORTED_FILL_TYPE|不支持的填充类型|
-|708|QUERY_PROCESS_ERROR|查询处理相关错误|
-|709|MPP_MEMORY_NOT_ENOUGH|MPP 框架中任务执行内存不足|
-|710|CLOSE_OPERATION_ERROR|关闭操作错误|
-|711|TSBLOCK_SERIALIZE_ERROR|TsBlock 序列化错误|
-|712|INTERNAL_REQUEST_TIME_OUT|MPP 操作超时|
-|713|INTERNAL_REQUEST_RETRY_ERROR|内部操作重试失败|
-|800|AUTHENTICATION_ERROR|权限认证失败|
-|801|WRONG_LOGIN_PASSWORD|用户名或密码错误|
-|802|NOT_LOGIN|没有登录|
-|803|NO_PERMISSION|没有操作权限|
-|804|UNINITIALIZED_AUTH_ERROR|授权人未初始化|
-|805|USER_NOT_EXIST|用户不存在|
-|806|ROLE_NOT_EXIST|角色不存在|
-|807|CLEAR_PERMISSION_CACHE_ERROR|清空权限缓存失败|
-|900|MIGRATE_REGION_ERROR|Region 迁移失败|
-|901|CREATE_REGION_ERROR|创建 region 失败|
-|902|DELETE_REGION_ERROR|删除 region 失败|
-|903|PARTITION_CACHE_UPDATE_ERROR|更新分区缓存失败|
-|904|CONSENSUS_NOT_INITIALIZED|共识层未初始化,不能提供服务|
-|905|REGION_LEADER_CHANGE_ERROR|Region leader 迁移失败|
-|906|NO_AVAILABLE_REGION_GROUP|无法找到可用的 Region 副本组|
-|1000|DATANODE_ALREADY_REGISTERED|DataNode 在集群中已经注册|
-|1001|NO_ENOUGH_DATANODE|DataNode 数量不足,无法移除节点或创建副本|
-|1002|ADD_CONFIGNODE_ERROR|新增 ConfigNode 失败|
-|1003|REMOVE_CONFIGNODE_ERROR|移除 ConfigNode 失败|
-|1004|DATANODE_NOT_EXIST|此 DataNode 不存在|
-|1005|DATANODE_STOP_ERROR|DataNode 关闭失败|
-|1006|REMOVE_DATANODE_ERROR|移除 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 片段异常|
-|1102|DESERIALIZE_PIECE_OF_TSFILE_ERROR|反序列化 TsFile 片段异常|
-|1103|SYNC_CONNECTION_ERROR|回传连接错误|
-|1104|SYNC_FILE_REDIRECTION_ERROR|同步文件时重定向异常|
-|1105|SYNC_FILE_ERROR|同步文件异常|
-|1106|CREATE_PIPE_SINK_ERROR|创建 PIPE Sink 失败|
-|1107|PIPE_ERROR|PIPE 异常|
-|1108|PIPESERVER_ERROR|PIPE server 异常|
-|1109|VERIFY_METADATA_ERROR|校验元数据失败|
-|1200|UDF_LOAD_CLASS_ERROR|UDF 加载类异常|
-|1201|UDF_DOWNLOAD_ERROR|无法从 ConfigNode 下载 UDF|
-|1202|CREATE_UDF_ON_DATANODE_ERROR|在 DataNode 创建 UDF 失败|
-|1203|DROP_UDF_ON_DATANODE_ERROR|在 DataNode 卸载 UDF 失败|
-|1300|CREATE_TRIGGER_ERROR|ConfigNode 创建 Trigger 失败|
-|1301|DROP_TRIGGER_ERROR|ConfigNode 删除 Trigger 失败|
-|1302|TRIGGER_FIRE_ERROR|触发器执行错误|
-|1303|TRIGGER_LOAD_CLASS_ERROR|触发器加载类异常|
-|1304|TRIGGER_DOWNLOAD_ERROR|从 ConfigNode 下载触发器异常|
-|1305|CREATE_TRIGGER_INSTANCE_ERROR|创建触发器实例异常|
-|1306|ACTIVE_TRIGGER_INSTANCE_ERROR|激活触发器实例异常|
-|1307|DROP_TRIGGER_INSTANCE_ERROR|删除触发器实例异常|
-|1308|UPDATE_TRIGGER_LOCATION_ERROR|更新有状态的触发器所在 DataNode 异常|
-|1400|NO_SUCH_CQ|CQ 任务不存在|
-|1401|CQ_ALREADY_ACTIVE|CQ 任务已激活|
-|1402|CQ_AlREADY_EXIST|CQ 任务已存在|
-|1403|CQ_UPDATE_LAST_EXEC_TIME_ERROR|CQ 更新上一次执行时间失败|
+| 状态码 | 状态类型 | 状态信息 |
+|:-----|:----------------------------------|:--------------------------|
+| 200 | SUCCESS_STATUS | 成功状态 |
+| 201 | INCOMPATIBLE_VERSION | 版本不兼容 |
+| 202 | CONFIGURATION_ERROR | 配置文件有错误项 |
+| 203 | START_UP_ERROR | 启动错误 |
+| 204 | SHUT_DOWN_ERROR | 关机错误 |
+| 300 | UNSUPPORTED_OPERATION | 不支持的操作 |
+| 301 | EXECUTE_STATEMENT_ERROR | 执行语句错误 |
+| 302 | MULTIPLE_ERROR | 多行语句执行错误 |
+| 303 | ILLEGAL_PARAMETER | 参数错误 |
+| 304 | OVERLAP_WITH_EXISTING_TASK | 与正在执行的其他操作冲突 |
+| 305 | INTERNAL_SERVER_ERROR | 服务器内部错误 |
+| 306 | DISPATCH_ERROR | 分发错误 |
+| 400 | REDIRECTION_RECOMMEND | 推荐客户端重定向 |
+| 500 | DATABASE_NOT_EXIST | 数据库不存在 |
+| 501 | DATABASE_ALREADY_EXISTS | 数据库已存在 |
+| 502 | SERIES_OVERFLOW | 序列数量超过阈值 |
+| 503 | TIMESERIES_ALREADY_EXIST | 时间序列已存在 |
+| 504 | TIMESERIES_IN_BLACK_LIST | 时间序列正在删除 |
+| 505 | ALIAS_ALREADY_EXIST | 路径别名已经存在 |
+| 506 | PATH_ALREADY_EXIST | 路径已经存在 |
+| 507 | METADATA_ERROR | 处理元数据错误 |
+| 508 | PATH_NOT_EXIST | 路径不存在 |
+| 509 | ILLEGAL_PATH | 路径不合法 |
+| 510 | CREATE_TEMPLATE_ERROR | 创建物理量模板失败 |
+| 511 | DUPLICATED_TEMPLATE | 元数据模板重复 |
+| 512 | UNDEFINED_TEMPLATE | 元数据模板未定义 |
+| 513 | TEMPLATE_NOT_SET | 元数据模板未设置 |
+| 514 | DIFFERENT_TEMPLATE | 元数据模板不一致 |
+| 515 | TEMPLATE_IS_IN_USE | 元数据模板正在使用 |
+| 516 | TEMPLATE_INCOMPATIBLE | 元数据模板不兼容 |
+| 517 | SEGMENT_NOT_FOUND | 未找到 Segment |
+| 518 | PAGE_OUT_OF_SPACE | SchemaFile 中 Page 空间不够 |
+| 519 | RECORD_DUPLICATED | 记录重复 |
+| 520 | SEGMENT_OUT_OF_SPACE | SchemaFile 中 segment 空间不够 |
+| 521 | SCHEMA_FILE_NOT_EXISTS | SchemaFile 不存在 |
+| 522 | OVERSIZE_RECORD | 记录大小超过元数据文件页面大小 |
+| 523 | SCHEMA_FILE_REDO_LOG_BROKEN | SchemaFile 的 redo 日志损坏 |
+| 524 | TEMPLATE_NOT_ACTIVATED | 元数据模板未激活 |
+| 600 | SYSTEM_READ_ONLY | IoTDB 系统只读 |
+| 601 | STORAGE_ENGINE_ERROR | 存储引擎相关错误 |
+| 602 | STORAGE_ENGINE_NOT_READY | 存储引擎还在恢复中,还不能接受读写操作 |
+| 603 | DATAREGION_PROCESS_ERROR | DataRegion 相关错误 |
+| 604 | TSFILE_PROCESSOR_ERROR | TsFile 处理器相关错误 |
+| 605 | WRITE_PROCESS_ERROR | 写入相关错误 |
+| 606 | WRITE_PROCESS_REJECT | 写入拒绝错误 |
+| 607 | OUT_OF_TTL | 插入时间少于 TTL 时间边界 |
+| 608 | COMPACTION_ERROR | 合并错误 |
+| 609 | ALIGNED_TIMESERIES_ERROR | 对齐时间序列错误 |
+| 610 | WAL_ERROR | WAL 异常 |
+| 611 | DISK_SPACE_INSUFFICIENT | 磁盘空间不足 |
+| 700 | SQL_PARSE_ERROR | SQL 语句分析错误 |
+| 701 | SEMANTIC_ERROR | SQL 语义错误 |
+| 702 | GENERATE_TIME_ZONE_ERROR | 生成时区错误 |
+| 703 | SET_TIME_ZONE_ERROR | 设置时区错误 |
+| 704 | QUERY_NOT_ALLOWED | 查询语句不允许 |
+| 705 | LOGICAL_OPERATOR_ERROR | 逻辑符相关错误 |
+| 706 | LOGICAL_OPTIMIZE_ERROR | 逻辑优化相关错误 |
+| 707 | UNSUPPORTED_FILL_TYPE | 不支持的填充类型 |
+| 708 | QUERY_PROCESS_ERROR | 查询处理相关错误 |
+| 709 | MPP_MEMORY_NOT_ENOUGH | MPP 框架中任务执行内存不足 |
+| 710 | CLOSE_OPERATION_ERROR | 关闭操作错误 |
+| 711 | TSBLOCK_SERIALIZE_ERROR | TsBlock 序列化错误 |
+| 712 | INTERNAL_REQUEST_TIME_OUT | MPP 操作超时 |
+| 713 | INTERNAL_REQUEST_RETRY_ERROR | 内部操作重试失败 |
+| 800 | UNINITIALIZED_AUTH_ERROR | 授权模块未初始化 |
+| 801 | WRONG_LOGIN_PASSWORD | 用户名或密码错误 |
+| 802 | NOT_LOGIN | 没有登录 |
+| 803 | NO_PERMISSION | 没有操作权限 |
+| 804 | USER_NOT_EXIST | 用户不存在 |
+| 805 | USER_ALREADY_EXIST | 用户已存在 |
+| 806 | USER_ALREADY_HAS_ROLE | 用户拥有对应角色 |
+| 807 | USER_NOT_HAS_ROLE | 用户未拥有对应角色 |
+| 900 | MIGRATE_REGION_ERROR | Region 迁移失败 |
+| 901 | CREATE_REGION_ERROR | 创建 region 失败 |
+| 902 | DELETE_REGION_ERROR | 删除 region 失败 |
+| 903 | PARTITION_CACHE_UPDATE_ERROR | 更新分区缓存失败 |
+| 904 | CONSENSUS_NOT_INITIALIZED | 共识层未初始化,不能提供服务 |
+| 905 | REGION_LEADER_CHANGE_ERROR | Region leader 迁移失败 |
+| 906 | NO_AVAILABLE_REGION_GROUP | 无法找到可用的 Region 副本组 |
+| 1000 | DATANODE_ALREADY_REGISTERED | DataNode 在集群中已经注册 |
+| 1001 | NO_ENOUGH_DATANODE | DataNode 数量不足,无法移除节点或创建副本 |
+| 1002 | ADD_CONFIGNODE_ERROR | 新增 ConfigNode 失败 |
+| 1003 | REMOVE_CONFIGNODE_ERROR | 移除 ConfigNode 失败 |
+| 1004 | DATANODE_NOT_EXIST | 此 DataNode 不存在 |
+| 1005 | DATANODE_STOP_ERROR | DataNode 关闭失败 |
+| 1006 | REMOVE_DATANODE_ERROR | 移除 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 片段异常 |
+| 1102 | DESERIALIZE_PIECE_OF_TSFILE_ERROR | 反序列化 TsFile 片段异常 |
+| 1103 | SYNC_CONNECTION_ERROR | 同步连接错误 |
+| 1104 | SYNC_FILE_REDIRECTION_ERROR | 同步文件时重定向异常 |
+| 1105 | SYNC_FILE_ERROR | 同步文件异常 |
+| 1106 | CREATE_PIPE_SINK_ERROR | 创建 PIPE Sink 失败 |
+| 1107 | PIPE_ERROR | PIPE 异常 |
+| 1108 | PIPESERVER_ERROR | PIPE server 异常 |
+| 1109 | VERIFY_METADATA_ERROR | 校验元数据失败 |
+| 1200 | UDF_LOAD_CLASS_ERROR | UDF 加载类异常 |
+| 1201 | UDF_DOWNLOAD_ERROR | 无法从 ConfigNode 下载 UDF |
+| 1202 | CREATE_UDF_ON_DATANODE_ERROR | 在 DataNode 创建 UDF 失败 |
+| 1203 | DROP_UDF_ON_DATANODE_ERROR | 在 DataNode 卸载 UDF 失败 |
+| 1300 | CREATE_TRIGGER_ERROR | ConfigNode 创建 Trigger 失败 |
+| 1301 | DROP_TRIGGER_ERROR | ConfigNode 删除 Trigger 失败 |
+| 1302 | TRIGGER_FIRE_ERROR | 触发器执行错误 |
+| 1303 | TRIGGER_LOAD_CLASS_ERROR | 触发器加载类异常 |
+| 1304 | TRIGGER_DOWNLOAD_ERROR | 从 ConfigNode 下载触发器异常 |
+| 1305 | CREATE_TRIGGER_INSTANCE_ERROR | 创建触发器实例异常 |
+| 1306 | ACTIVE_TRIGGER_INSTANCE_ERROR | 激活触发器实例异常 |
+| 1307 | DROP_TRIGGER_INSTANCE_ERROR | 删除触发器实例异常 |
+| 1308 | UPDATE_TRIGGER_LOCATION_ERROR | 更新有状态的触发器所在 DataNode 异常 |
+| 1400 | NO_SUCH_CQ | CQ 任务不存在 |
+| 1401 | CQ_ALREADY_ACTIVE | CQ 任务已激活 |
+| 1402 | CQ_AlREADY_EXIST | CQ 任务已存在 |
+| 1403 | CQ_UPDATE_LAST_EXEC_TIME_ERROR | CQ 更新上一次执行时间失败 |
> 在最新版本中,我们重构了 IoTDB 的异常类。通过将错误信息统一提取到异常类中,并为所有异常添加不同的错误代码,从而当捕获到异常并引发更高级别的异常时,错误代码将保留并传递,以便用户了解详细的错误原因。
除此之外,我们添加了一个基础异常类“ProcessException”,由所有异常扩展。
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java b/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java
index 6eb10e4e50..ac701aa2e4 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/utils/StatusUtils.java
@@ -84,8 +84,8 @@ public class StatusUtils {
case COMPACTION_ERROR:
status.setMessage("Meet error while merging.");
break;
- case SYNC_CONNECTION_ERROR:
- status.setMessage("Meet error while sync connecting.");
+ case DISPATCH_ERROR:
+ status.setMessage("Meet error while dispatching.");
break;
case DATAREGION_PROCESS_ERROR:
status.setMessage("Database processor related error.");
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/ClusterScheduler.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/ClusterScheduler.java
index fde66f115b..8f11dd0d43 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/ClusterScheduler.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/ClusterScheduler.java
@@ -97,7 +97,7 @@ public class ClusterScheduler implements IScheduler {
private boolean needRetry(TSStatus failureStatus) {
return failureStatus != null
&& queryType == QueryType.READ
- && failureStatus.getCode() == TSStatusCode.SYNC_CONNECTION_ERROR.getStatusCode();
+ && failureStatus.getCode() == TSStatusCode.DISPATCH_ERROR.getStatusCode();
}
@Override
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java
index db04e97f0b..bd78965ea7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java
@@ -196,7 +196,7 @@ public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
} catch (ClientManagerException | TException e) {
logger.warn("can't connect to node {}", endPoint, e);
TSStatus status = new TSStatus();
- status.setCode(TSStatusCode.SYNC_CONNECTION_ERROR.getStatusCode());
+ status.setCode(TSStatusCode.DISPATCH_ERROR.getStatusCode());
status.setMessage("can't connect to node " + endPoint);
// If the DataNode cannot be connected, its endPoint will be put into black list
// so that the following retry will avoid dispatching instance towards this DataNode.
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
index 2fb089eaa9..a19af1bdba 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
@@ -138,7 +138,7 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
} catch (ClientManagerException | TException e) {
logger.warn("can't connect to node {}", endPoint, e);
TSStatus status = new TSStatus();
- status.setCode(TSStatusCode.SYNC_CONNECTION_ERROR.getStatusCode());
+ status.setCode(TSStatusCode.DISPATCH_ERROR.getStatusCode());
status.setMessage("can't connect to node {}" + endPoint);
throw new FragmentInstanceDispatchException(status);
}
@@ -226,7 +226,7 @@ public class LoadTsFileDispatcherImpl implements IFragInstanceDispatcher {
} catch (ClientManagerException | TException e) {
logger.warn("can't connect to node {}", endPoint, e);
TSStatus status = new TSStatus();
- status.setCode(TSStatusCode.SYNC_CONNECTION_ERROR.getStatusCode());
+ status.setCode(TSStatusCode.DISPATCH_ERROR.getStatusCode());
status.setMessage(
"can't connect to node {}, please reset longer dn_connection_timeout_ms in iotdb-common.properties and restart iotdb."
+ endPoint);
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 9f8e0a06e0..71dd6cd23b 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
@@ -45,6 +45,7 @@ public enum TSStatusCode {
ILLEGAL_PARAMETER(303),
OVERLAP_WITH_EXISTING_TASK(304),
INTERNAL_SERVER_ERROR(305),
+ DISPATCH_ERROR(306),
// Client,
REDIRECTION_RECOMMEND(400),