Merge pull request #28974 from taosdata/doc/contrib

doc: update error codes
This commit is contained in:
Shengliang Guan 2024-11-28 19:49:22 +08:00 committed by GitHub
commit 4537286ff9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 24 deletions

View File

@ -11,32 +11,32 @@ description: TDengine 服务端的错误码列表和详细说明
## rpc
| 错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
| ---------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| 0x8000000B | 无法正常收发请求 | 1. 网络不通 2. 多次重试、依然不能执行REQ | 1. 检查网络 2. 分析日志,具体原因比较复杂 |
| 0x80000013 | 客户端和服务端之间的时间时间相差太大, 默认900s | 1. 客户端和服务端不在同一个时区 2. 客户端和服务端在同一个时区,但是两者的时间不同步、相差太大 | 1. 调整到同一个时区 2. 校准客户端和服务端的时间 |
| 0x80000015 | 无法解析FQDN | 设置了无效的fqdn | 检查fqdn 的设置 |
| 0x80000017 | 当前端口被占用 | 端口P已经被某个服务占用的情况下,新启的服务依然尝试绑定端口P | 1. 改动新服务的服务端口 2. 杀死之前占用端口的服务 |
| 0x80000018 | 由于网络抖动/ REQ 请求时间过长导致系统主动摘掉REQ 所使用的conn | 1. 网络抖动 2. REQ 请求时间过长大于900s | 1. 设置系统的最大超时时长 2. 检查REQ的请求时长 |
| 0x80000019 | 暂时没有用到这个错误码 | | |
| 0x80000020 | 多次重试之后所有dnode 依然都链接不上 | 1. 所有的节点都挂了 2. 有节点挂了但是存活的节点都不是master 节点 | 1. 查看taosd 的状态、分析taosd 挂掉的原因或者分析存活的taosd 为什么不是主 |
| 0x80000021 | 多次重试之后所有dnode 依然都链接不上 | 1. 网络异常 2. req请求时间太长服务端可能发生死锁等问题。系统自己断开了链接 | 1. 检查网络 2. 检查req 的执行时间 |
| 0x80000022 | 达到了可用链接上线。 | 1. 并发太高、占用链接已经到达上线。 2. 服务端的BUG导致conn 一直不释放, | 1. 提高tsNumOfRpcSessions这个值。 2. tsTimeToGetAvailableConn 3. 分析服务端不释放的conn 的原因 |
| 错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
| ---------- | -----------------------------| --- | --- |
| 0x8000000B | Unable to establish connection | 1.网络不通 2.多次重试、依然不能执行请求 | 1.检查网络 2.分析日志,具体原因比较复杂 |
| 0x80000013 | Client and server's time is not synchronized | 1.客户端和服务端不在同一个时区 2.客户端和服务端在同一个时区,但是两者的时间不同步,相差超过 900 秒 | 1.调整到同一个时区 2.校准客户端和服务端的时间|
| 0x80000015 | Unable to resolve FQDN | 设置了无效的 fqdn | 检查fqdn 的设置 |
| 0x80000017 | Port already in use | 端口已经被某个服务占用的情况下,新启的服务依然尝试绑定端口 | 1.改动新服务的服务端口 2.杀死之前占用端口的服务 |
| 0x80000018 | Conn is broken | 由于网络抖动或者请求时间过长(超过 900 秒),导致系统主动摘掉连接 | 1.设置系统的最大超时时长 2.检查请求时长 |
| 0x80000019 | Conn read timeout | 未启用 | |
| 0x80000020 | some vnode/qnode/mnode(s) out of service | 多次重试之后,仍然无法连接到集群,可能是所有的节点都宕机了,或者存活的节点不是 Leader 节点 | 1.查看 taosd 的状态、分析 taosd 宕机的原因 2.分析存活的 taosd 为什么无法选取 Leader |
| 0x80000021 | some vnode/qnode/mnode(s) conn is broken | 多次重试之后,仍然无法连接到集群,可能是网络异常、请求时间太长、服务端死锁等问题 | 1.检查网络 2.请求的执行时间 |
| 0x80000022 | rpc open too many session | 1.并发太高导致占用链接已经到达上限 2.服务端的 BUG导致连接一直不释放 | 1.调整配置参数 numOfRpcSessions 2.调整配置参数 timeToGetAvailableConn 3.分析服务端不释放的连接的原因 |
## common
| 错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
| ---------- | --------------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0x80000100 | Operation not supported | 1. 操作不被支持、不允许的场景 | 1. 检查操作是否有误,确认该功能是否被支持 |
| 0x80000102 | Out of Memory | 1. 客户端或服务端内存分配失败的场景 | 1. 检查客户端、服务端内存是否充足 |
| 0x80000104 | Data file corrupted | 1. 存储数据文件损坏 2. udf文件无法创建 | 1. 联系涛思客户支持 2. 确认服务端对临时目录有读写创建文件权限 |
| 0x80000106 | too many Ref Objs | 无可用ref资源 | 保留现场和日志github上报issue |
| 0x80000107 | Ref ID is removed | 引用的ref资源已经释放 | 保留现场和日志github上报issue |
| 0x80000108 | Invalid Ref ID | 无效ref ID | 保留现场和日志github上报issue |
| 0x8000010A | Ref is not there | ref信息不存在 | 保留现场和日志github上报issue |
| 0x80000110 | | | |
| 0x80000111 | Action in progress | 操作进行中 | 1. 等待操作完成 2. 根据需要取消操作 3. 当超出合理时间仍然未完成可保留现场和日志,或联系客户支持 |
| 错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
| ---------- | -----------------------------| --- | --- |
| 0x80000100 | Operation not supported | 操作不被支持、不允许的场景 | 检查操作是否有误,确认该功能是否被支持 |
| 0x80000102 | Out of Memory | 客户端或服务端内存分配失败的场景 | 检查客户端、服务端内存是否充足 |
| 0x80000104 | Data file corrupted | 1.存储数据文件损坏 2.udf 文件无法创建 | 1.联系涛思客户支持 2.确认服务端对临时目录有读写创建文件权限 |
| 0x80000106 | too many Ref Objs | 无可用ref资源 | 保留现场和日志github 上报 issue |
| 0x80000107 | Ref ID is removed | 引用的ref资源已经释放 | 保留现场和日志github 上报 issue |
| 0x80000108 | Invalid Ref ID | 无效ref ID | 保留现场和日志github 上报 issue |
| 0x8000010A | Ref is not there | ref 信息不存在 | 保留现场和日志github 上报 issue |
| 0x80000110 | Unexpected generic error | 系统内部错误 | 保留现场和日志github 上报 issue |
| 0x80000111 | Action in progress | 操作进行中 | 1.等待操作完成 2.根据需要取消操作 3.当超出合理时间仍然未完成可保留现场和日志,或联系客户支持 |
| 0x80000112 | Out of range | 配置参数超出允许值范围 | 更改参数 |
| 0x80000115 | Invalid message | 消息错误 | 1. 检查是否存在节点间版本不一致 2. 保留现场和日志github上报issue |
| 0x80000116 | Invalid message len | 消息长度错误 | 1. 检查是否存在节点间版本不一致 2. 保留现场和日志github上报issue |
@ -309,11 +309,11 @@ description: TDengine 服务端的错误码列表和详细说明
| 错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
| ---------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| 0x80000903 | Sync timeout | 场景1发生了切主旧主节点上已经开始协商但尚未达成一致的请求将超时。 场景2从节点响应超时导致协商超时。 | 检查集群状态例如show vgroups查看服务端日志,以及服务端节点之间的网络状况。 |
| 0x80000903 | Sync timeout | 场景1发生了切主 旧主节点上已经开始协商但尚未达成一致的请求将超时。 场景2从节点响应超时导致协商超时。 | 检查集群状态例如show vgroups 查看服务端日志,以及服务端节点之间的网络状况。 |
| 0x8000090C | Sync leader is unreachable | 场景1选主过程中 场景2客户端请求路由到了从节点且重定向失败 场景3客户端或服务端网络配置错误 | 检查集群状态、网络配置、应用程序访问状态等。查看服务端日志,以及服务端节点之间的网络状况。 |
| 0x8000090F | Sync new config error | 成员变更配置错误 | 内部错误,用户无法干预 |
| 0x80000911 | Sync not ready to propose | 场景1恢复未完成 | 检查集群状态例如show vgroups。查看服务端日志以及服务端节点之间的网络状况。 |
| 0x80000914 | Sync leader is restoring | 场景1发生了切主选主后,日志重演中 | 检查集群状态例如show vgroups。查看服务端日志观察恢复进度。 |
| 0x80000914 | Sync leader is restoring | 场景1发生了切主 选主后,日志重演中 | 检查集群状态例如show vgroups。查看服务端日志观察恢复进度。 |
| 0x80000915 | Sync invalid snapshot msg | 快照复制消息错误 | 服务端内部错误 |
| 0x80000916 | Sync buffer is full | 场景1客户端请求并发数特别大超过了服务端处理能力或者因为网络和CPU资源严重不足或者网络连接问题等。 | 检查集群状态系统资源使用率例如磁盘IO、CPU、网络通信等以及节点之间网络连接状况。 |
| 0x80000917 | Sync write stall | 场景1状态机执行被阻塞例如因系统繁忙磁盘IO资源严重不足或落盘失败等 | 检查集群状态系统资源使用率例如磁盘IO和CPU等以及是否发生了落盘失败等。 |

View File

@ -53,6 +53,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_RPC_PORT_EADDRINUSE, "Port already in use")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_BROKEN_LINK, "Conn is broken")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_TIMEOUT, "Conn read timeout")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_SOMENODE_NOT_CONNECTED, "some vnode/qnode/mnode(s) out of service")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_SOMENODE_BROKEN_LINK, "some vnode/qnode/mnode(s) conn is broken")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_MAX_SESSIONS, "rpc open too many session")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_NETWORK_ERROR, "rpc network error")
TAOS_DEFINE_ERROR(TSDB_CODE_RPC_NETWORK_BUSY, "rpc network busy")