Go SDK错误码
大部分复用了C++的错误码,参考c++错误码 有部分自定义错误码,Go SDK错误会携带Message,查看错误中的Message:
错误码: -0x0000001e (十进制: -30)
错误码名称: ParameterInvalid
详细说明: 无效的参数,入参错误,通用错误码,查看返回的msg
错误码: -0x0000011e (十进制: -286)
错误码名称: DirSignUpFailed
详细说明: dir 认证失败,一般密码错误
错误码: -0x0000021e (十进制: -542)
错误码名称: ClientInitTimeOut
详细说明: client 初始化超时,可能原因:
1 网络问题
2 后端dir负载过高
3 本地客户端负载过高
初步排查方案:
1. 检查客户端机器到Dir服务器的网络连通性(如通过telnet测试9999端口)。
2. 确认Dir服务端当前负载是否过高(如CPU/内存占用率、并发连接数)。
3. 检查客户端本地资源使用情况(如CPU、内存是否不足),并调整Client初始化的超时时间参数(如有配置项)。
错误码: -0x0000031e (十进制: -798)
错误码名称: ProxySignUpFailed
详细说明: proxy 认证失败,一般不会出现
错误码: -0x0000041e (十进制: -1054)
错误码名称: ZoneIdNotExist
详细说明: 注册zoneId不存在,检查使用的dir地址是否设置正确,对应当前的Zoneid
错误码: -0x0000051e (十进制: -1310)
错误码名称: TableNotExist
详细说明: 注册的表不存在,OMS上查看对应的表是否存在
初步排查方案:
1. 登录OMS(对象管理系统)确认请求操作的表名是否已创建且处于可用状态。
2. 检查表名是否拼写错误(区分大小写、特殊字符)。
3. 若表为新建,确认表已成功发布且客户端已同步最新元数据。
错误码: -0x0000061e (十进制: -1566)
错误码名称: InvalidCmd
详细说明: request/response命令字非法,一般不会出现
错误码: -0x0000071e (十进制: -1822)
错误码名称: InvalidPolicy
详细说明: request中乐观锁设置的版本校验规则参数非法
错误码: -0x0000091e (十进制: -2334)
错误码名称: KeyNameLenOverMax
详细说明: record中key名称长度超限,查看表定义规范文档
错误码: -0x00000a1e (十进制: -2590)
错误码名称: KeyLenOverMax
详细说明: record中key值长度超限,查看表定义规范文档
错误码: -0x00000b1e (十进制: -2846)
错误码名称: KeyNumOverMax
详细说明: record中key字段数量超限,查看表定义规范文档
错误码: -0x00000c1e (十进制: -3102)
错误码名称: ValueNameLenOverMax
详细说明: record中value名称长度超限,查看表定义规范文档
错误码: -0x00000d1e (十进制: -3358)
错误码名称: ValueLenOverMax
详细说明: record中value值长度超限,查看表定义规范文档
错误码: -0x00000e1e (十进制: -3614)
错误码名称: ValueNumOverMax
详细说明: record中value字段数量超限,查看表定义规范文档
错误码: -0x00000f1e (十进制: -3870)
错误码名称: ValuePackOverMax
详细说明: record中value字段打包超限,查看表定义规范文档
错误码: -0x0000101e (十进制: -4126)
错误码名称: RecordNumOverMax
详细说明: request中record数量超限,批量请求记录数超过1024
错误码: -0x0000111e (十进制: -4382)
错误码名称: ProxyNotAvailable
详细说明: 没有可用的proxy,所有的proxy都发生断链,一般不会出现
初步排查方案:
1. 客户端负载过高持续,导致心跳断链。
2. GDB断点卡住,导致tcp断链
2. 确认客户端与Proxy之间的网络是否连通(如通过telnet测试Proxy端口)。
3. 联系DBA或Tcaplus_Helper排查
错误码: -0x0000121e (十进制: -4638)
错误码名称: RequestHasNoRecord
详细说明: 请求中没有添加record就发送出去了
错误码: -0x0000131e (十进制: -4894)
错误码名称: RequestHasNoKeyField
详细说明: 请求中没有key字段
错误码: -0x0000141e (十进制: -5150)
错误码名称: RecordKeyTypeInvalid
详细说明: 响应record Key 类型错误,一般不会出现
错误码: -0x0000151e (十进制: -5406)
错误码名称: RecordValueTypeInvalid
详细说明: 响应record Value 类型错误,一般不会出现
错误码: -0x0000161e (十进制: -5662)
错误码名称: OperationNotSupport
详细说明: 当前命令字不支持调用的接口
错误码: -0x0000171e (十进制: -5918)
错误码名称: ClientNotInit
详细说明: client 未初始化就开始发送请求
错误码: -0x0000181e (十进制: -6174)
错误码名称: RecordUnpackFailed
详细说明: response record解包失败,一般不会出现
错误码: -0x0000191e (十进制: -6430)
错误码名称: RecordKeyNotExist
详细说明: 从record中查询的key字段不存在
错误码: -0x00001a1e (十进制: -6686)
错误码名称: RecordValueNotExist
详细说明: 从record中查询的value字段不存在
错误码: -0x00001c1e (十进制: -7198)
错误码名称: RespNotMatchReq
详细说明: 批量请求响应的key和请求的key不一致,一般不会出现
错误码: -0x00001e1e (十进制: -7710)
错误码名称: SqlQueryFormatError
详细说明: 全局索引查询,后端响应的格式错误,一般不会出现
错误码: -0x00001f1e (十进制: -7966)
错误码名称: GetTraverserError
详细说明: 获取遍历器失败,单个客户端最多8个遍历器
初步排查方案:
1. 检查当前客户端已创建的遍历器数量是否达到上限(8个),若已满则先关闭无用的遍历器。
错误码: -0x0000201e (十进制: -8222)
错误码名称: RouterIsClosed
详细说明: 路由已关闭,客户端退出后,还有请求发出,一般不会出现
错误码: -0x0000211e (十进制: -8478)
错误码名称: SendRequestFail
详细说明: 请求发送失败,tcp链接闪断,一般不会出现
错误码: -0x0000221e (十进制: -8734)
错误码名称: TimeOut
详细说明: 请求超时,等待响应的协程超时:
1 后端响应超时
2 网络问题
3 客户端负载高卡顿
初步排查方案:
1 查看客户端监控,排查cpu 网络等是否存在卡顿,重传等
2 使用cvm诊断工具,对客户端进行诊断
3 联系DBA或Tcaplus_Helper排查
| 十六进制值 | 十进制值 | 错误码名称 | 中文描述 |
| -0x0000001e | -30 | ParameterInvalid | 无效的参数,入参错误,通用错误码,查看返回的msg |
| -0x0000011e | -286 | DirSignUpFailed | dir 认证失败,一般密码错误 |
| -0x0000021e | -542 | ClientInitTimeOut | client 初始化超时,可能原因:1 网络问题2 后端dir负载过高3 本地客户端负载过高 |
| -0x0000031e | -798 | ProxySignUpFailed | proxy 认证失败,一般不会出现 |
| -0x0000041e | -1054 | ZoneIdNotExist | 注册zoneId不存在,检查dir地址是否设置正确 |
| -0x0000051e | -1310 | TableNotExist | 注册的表不存在,OMS上查看对应的表是否存在 |
| -0x0000061e | -1566 | InvalidCmd | request/response命令字非法,一般不会出现 |
| -0x0000071e | -1822 | InvalidPolicy | request中乐观锁设置的版本校验规则参数非法 |
| -0x0000091e | -2334 | KeyNameLenOverMax | record中key名称长度超限,查看表定义规范文档 |
| -0x00000a1e | -2590 | KeyLenOverMax | record中key值长度超限,查看表定义规范文档 |
| -0x00000b1e | -2846 | KeyNumOverMax | record中key字段数量超限,查看表定义规范文档 |
| -0x00000c1e | -3102 | ValueNameLenOverMax | record中value名称长度超限,查看表定义规范文档 |
| -0x00000d1e | -3358 | ValueLenOverMax | record中value值长度超限,查看表定义规范文档 |
| -0x00000e1e | -3614 | ValueNumOverMax | record中value字段数量超限,查看表定义规范文档 |
| -0x00000f1e | -3870 | ValuePackOverMax | record中value字段打包超限,查看表定义规范文档 |
| -0x0000101e | -4126 | RecordNumOverMax | request中record数量超限,批量请求记录数超过1024 |
| -0x0000111e | -4382 | ProxyNotAvailable | 没有可用的proxy,所有的proxy都发生断链,一般不会出现 |
| -0x0000121e | -4638 | RequestHasNoRecord | 请求中没有添加record就发送出去了 |
| -0x0000131e | -4894 | RequestHasNoKeyField | 请求中没有key字段 |
| -0x0000141e | -5150 | RecordKeyTypeInvalid | record Key 类型错误 |
| -0x0000151e | -5406 | RecordValueTypeInvalid | record Value 类型错误 |
| -0x0000161e | -5662 | OperationNotSupport | 当前命令字不支持调用的接口 |
| -0x0000171e | -5918 | ClientNotInit | client 未初始化就开始发送请求 |
| -0x0000181e | -6174 | RecordUnpackFailed | response record解包失败,一般不会出现 |
| -0x0000191e | -6430 | RecordKeyNotExist | 从record中查询的key不存在 |
| -0x00001a1e | -6686 | RecordValueNotExist | 从record中查询的value不存在 |
| -0x00001c1e | -7198 | RespNotMatchReq | 批量请求响应的key和请求的key不一致,一般不会出现 |
| -0x00001e1e | -7710 | SqlQueryFormatError | 全局索引查询,后端响应的格式错误,一般不会出现 |
| -0x00001f1e | -7966 | GetTraverserError | 获取遍历器失败,单个客户端最多8个遍历器 |
| -0x0000201e | -8222 | RouterIsClosed | 路由已关闭,客户端退出后,还有请求发出,一般不会出现 |
| -0x0000211e | -8478 | SendRequestFail | 请求发送失败,tcp链接闪断,一般不会出现 |
| -0x0000221e | -8734 | TimeOut | 请求超时,请求的协程超时:1 后端响应超时2 网络问题3 客户端负载高卡顿 |
| -0x0000241e | -9246 | NoRspWithTheKeyReq | batch请求,响应的记录数和请求的不一致,可能存在丢包 |
| -0x0000251e | -9502 | SubscribeChannelClosed | 订阅通道已关闭,仅订阅功能使用 |