TDengine 错误码
本文中详细列举了在使用 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 的原因 |
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. 当超出合理时间仍然未完成可保留现场和日志,或联系客户支持 |
0x80000112 | Out of range | 配置参数超出允许值范围 | 更改参数 |
0x80000115 | Invalid message | 消息错误 | 1. 检查是否存在节点间版本不一致 2. 保留现场和日志,github上报issue |
0x80000116 | Invalid message len | 消息长度错误 | 1. 检查是否存在节点间版本不一致 2. 保留现场和日志,github上报issue |
0x80000117 | Invalid pointer | 无效指针 | 保留现场和日志,github上报issue |
0x80000118 | Invalid parameters | 无效参数 | 保留现场和日志,github上报issue |
0x80000119 | Invalid config option | 无效配置 | 保留现场和日志,github上报issue |
0x8000011A | Invalid option | 无效选项 | 保留现场和日志,github上报issue |
0x8000011B | Invalid json format | JSON格式错误 | 保留现场和日志,github上报issue |
0x8000011C | Invalid version number | 无效版本格式 | 保留现场和日志,github上报issue |
0x8000011D | Invalid version string | 无效版本格式 | 保留现场和日志,github上报issue |
0x8000011E | Version not compatible | 节点间版本不兼容 | 检查各节点版本(包括服务端与客户端),确保节点间版本一致或兼容 |
0x8000011F | Checksum error | 文件checksum校验失败 | 保留现场和日志,github上报issue |
0x80000120 | Failed to compress msg | 压缩失败 | 保留现场和日志,github上报issue |
0x80000121 | Message not processed | 消息未被正确处理 | 保留现场和日志,github上报issue |
0x80000122 | Config not found | 未找到配置项 | 保留现场和日志,github上报issue |
0x80000123 | Repeat initialization | 重复初始化 | 保留现场和日志,github上报issue |
0x80000124 | Cannot add duplicate keys to hash | 添加重复key数据到哈希表中 | 保留现场和日志,github上报issue |
0x80000125 | Retry needed | 需要应用进行重试 | 应用按照API使用规范进行重试 |
0x80000126 | Out of memory in rpc queue | rpc消息队列内存使用达到上限 | 1. 检查确认系统负载是否过大 2. (如必要)通过配置rpcQueueMemoryAllowed增大rpc消息队列内存上限 3. 如果问题还未解决,保留现场和日志,github上报issue |
0x80000127 | Invalid timestamp format | 时间戳格式错误 | 检查并确认输入的时间戳格式正确 |
0x80000128 | Msg decode error | 消息解码错误 | 保留现场和日志,github上报issue |
0x8000012A | Not found | 未找到内部缓存信息 | 保留现场和日志,github上报issue |
0x8000012B | Out of disk space | 磁盘空间不足 | 1. 检查并确保数据目录、临时文件夹目录有足够磁盘空间 2. 定期检查维护上述目录,确保空间足够 |
0x80000130 | Database is starting up | 数据库启动中,暂无法提供服务 | 检查数据库状态,待系统完成启动后继续或重试 |
0x80000131 | Database is closing down | 数据库正在或已经关闭,无法提供服务 | 检查数据库状态,确保系统工作在正常状态 |
0x80000132 | Invalid data format | 数据格式错误 | 1. 保留现场和日志,github上报issue 2. 联系涛思客户支持 |
0x80000133 | Invalid operation | 无效的或不支持的操作 | 1. 修改确认当前操作为合法有效支持的操作,检查参数有效性 2. 如果问题还未解决,保留现场和日志,github上报issue |
0x80000134 | Invalid value | 无效值 | 保留现场和日志,github上报issue |
0x80000135 | Invalid fqdn | 无效FQDN | 检查配置或输入的FQDN值是否正确 |
tsc
错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
---|---|---|---|
0x80000207 | Invalid user name | 数据库用户名不合法 | 检查数据库用户名是否正确 |
0x80000208 | Invalid password | 数据库密码不合法 | 检查数据库密码是否正确 |
0x80000209 | Database name too long | 数据库名称不合法 | 检查数据库名称是否正确 |
0x8000020A | Table name too long | 表名不合法 | 检查表名是否正确 |
0x8000020F | Query terminated | 查询被中止 | 检查是否有用户中止了查询 |
0x80000213 | Disconnected from server | 连接已中断 | 检查连接是否被人为中断或客户端正在退出 |
0x80000216 | Syntax error in SQL | SQL语法错误 | 检查SQL语句并修正错误 |
0x80000219 | SQL statement too long | SQL长度超出限制 | 检查SQL语句并修正错误 |
0x8000021A | File is empty | 文件内容为空 | 检查输入文件内容 |
0x8000021F | Invalid column length | 列长度错误 | 保留现场和日志,github上报issue |
0x80000222 | Invalid JSON data type | JSON数据类型错误 | 检查输入JSON内容 |
0x80000224 | Value out of range | 数据大小超过类型范围 | 检查输入的数据值 |
0x80000229 | Invalid tsc input | API输入错误 | 检查应用调用API时传递的参数 |
0x8000022A | Stmt API usage error | STMT API使用错误 | 检查STMT API调用的顺序、适用场景、错误处理 |
0x8000022B | Stmt table name not set | STMT未正确设置table name | 检查是否调用了设置table name接口 |
0x8000022D | Query killed | 查询被中止 | 检查是否有用户中止了查询 |
0x8000022E | No available execution node | 没有可用的查询执行节点 | 检查当前query policy配置,如果需要有Qnode参与确保系统中存在可用的Qnode节点 |
0x8000022F | Table is not a super table | 当前语句中的表名不是超级表 | 检查当前语句中所用表名是否是超级表 |
0x80000230 | Stmt cache error | STMT内部缓存出错 | 保留现场和日志,github上报issue |
0x80000231 | Tsc internal error | TSC内部错误 | 保留现场和日志,github上报issue |
mnode
错误码 | 错误描述 | 可能的出错场景或者可能的原因 | 建议用户采取的措施 |
---|---|---|---|
0x80000303 | Insufficient privilege for operation | 无权限 | 赋权 |
0x8000030B | Data expired | 内部错误 | 上报issue |
0x8000030C | Invalid query id | 内部错误 | 上报issue |
0x8000030E | Invalid connection id | 内部错误 | 上报issue |
0x80000315 | User is disabled | 该用户不可用 | 赋权 |
0x80000320 | Object already there | 内部错误 | 上报issue |
0x80000322 | Invalid table type | 内部错误 | 上报issue |
0x80000323 | Object not there | 内部错误 | 上报issue |
0x80000326 | Invalid action type | 内部错误 |