From a49a18f202b352c71ac1d7cb41785985eeca575a Mon Sep 17 00:00:00 2001 From: Shuaipeng Yu Date: Thu, 6 Feb 2020 13:41:58 +0800 Subject: [PATCH 1/5] dev/reference: update the error code Signed-off-by: Shuaipeng Yu --- dev/reference/error-codes.md | 90 ++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/dev/reference/error-codes.md b/dev/reference/error-codes.md index 2e710d3c5793..e0888924307e 100644 --- a/dev/reference/error-codes.md +++ b/dev/reference/error-codes.md @@ -18,6 +18,95 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8003 | `ADMIN CHECK TABLE` 命令在遇到行数据跟索引不一致的时候返回该错误 | | 8004 | 单个事务过大,原因及解决方法请参考[这里](/dev/faq/tidb.md#433-transaction-too-large-是什么原因怎么解决) | | 8005 | 事务在 TiDB 中遇到了写入冲突,原因及解决方法请参考[这里](/dev/faq/tidb.md#九故障排除) | +| 8018 | 插件无法重新载入,原因是没有载入过 | +| 8019 | 重新载入的插件版本与之前不同,无法重新载入 | +| 8020 | 表被锁 | +| 8021 | key 不存在 | +| 8022 | 事务提交失败,但可以进行重试 | +| 8023 | 不能设置空值 | +| 8024 | 非法的事务 | +| 8025 | 写入的单条键值对过大 | +| 8026 | 没有实现的接口 | +| 8027 | 表结构版本过期 | +| 8028 | 表结构发生了变化 | +| 8029 | 错误值 | +| 8030 | 转变为带符号正整数发生了越界,显示为负数 | +| 8031 | 负数转变为无符号数转变为正数 | +| 8032 | 非法的 year 格式 | +| 8033 | 非法的 year 值 | +| 8034 | 不正确的 datetime 值 | +| 8036 | 非法的 time 格式 | +| 8037 | 非法的 week 格式 | +| 8038 | 字段无法获取到默认值 | +| 8039 | 索引的偏移量超出范围 | +| 8042 | 表结构的状态为不存在 | +| 8043 | 列信息的状态为不存在 | +| 8044 | 索引的状态为不存在 | +| 8045 | 非法的表数据 | +| 8046 | 列信息的状态为不可见 | +| 8047 | 设置的系统变量值并没有支持,通常在用户设置了数据库不支持的变量值的告警信息里出现 | +| 8048 | 设置了不支持的数据库隔离级别 | +| 8049 | 载入权限相关表失败 | +| 8050 | 设置了不支持的权限类型 | +| 8051 | 未知的字段类型 | +| 8052 | 来自客户端的数据包的序列号错误 | +| 8053 | 获取到了非法的自增列值 | +| 8055 | 当前快照过旧,数据可能已经被 GC | +| 8056 | 非法的表 ID | +| 8057 | 非法的字段类型 | +| 8058 | 申请了不存在的自动变量类型 | +| 8059 | 获取自动随机量失败 | +| 8060 | 非法的自增列偏移量 | +| 8061 | 不支持的 SQL Hint | +| 8062 | SQL Hint 中使用了非法的 token,与 Hint 的保留字冲突 | +| 8063 | SQL Hint 中限制内存使用量超过系统设置的上限,忽略该设置 | +| 8064 | 解析 SQL Hint 失败 | +| 8065 | SQL Hint 中使用了非法的整数 | +| 8066 | JSON_OBJECTAGG 函数的第二个参数是非法参数 | +| 8101 | 插件 ID 格式错误,正确的格式是 [name]-[version] 并且 name 和 version 中不能带有 '-' | +| 8102 | 无法读取插件定义信息 | +| 8103 | 插件名称错误 | +| 8104 | 插件版本错误 | +| 8105 | 插件被重复载入错误 | +| 8106 | 插件定义的系统变量名称没有以插件名作为开头 | +| 8107 | 载入的插件版本太低 | +| 8108 | 不支持的执行计划类型 | +| 8109 | analyze 索引时找不到指定的索引 | +| 8110 | 不能进行笛卡尔积,需要将配置文件里 cross-join 设置为 true | +| 8111 | execute 语句执行时找不到对应的 prepare 语句 | +| 8112 | execute 语句的参数个数与 prepare 语句不符合 | +| 8113 | execute 语句涉及的表结构在 prepare 语句执行后发生了变化 | +| 8114 | 未知的执行计划类型 | +| 8115 | 不支持 prepare 多行语句 | +| 8116 | 不支持 prepare DDL 语句 | +| 8117 | 内部 SQL 没有读到指定的系统变量 | +| 8118 | 构建执行算子失败 | +| 8120 | 获取不到事务的 start tso | +| 8121 | 权限检查失败 | +| 8122 | 指定了通配符,但是找不到对应的表名 | +| 8123 | 带聚合函数的 SQL 中返回非聚合的列,违反了 only_full_group_by 模式 | +| 8200 | 不支持的 DDL 类型 | +| 8201 | 当前 TiDB 不是 DDL owner | +| 8202 | 不能对该索引解码 | +| 8203 | 非法的 DDL worker | +| 8204 | 非法的 DDL job | +| 8205 | 非法的 DDL job 标志 | +| 8206 | DDL 的 Reorg 阶段执行超时 | +| 8207 | 非法的存储节点 | +| 8210 | 非法的 DDL 状态 | +| 8211 | DDL 的 Reorg 阶段发生了 panic | +| 8212 | 非法的 region 切分范围 | +| 8213 | 非法的 DDL job 版本 | +| 8214 | DDL 操作被终止 | +| 8215 | Admin Repair 表失败 | +| 8216 | 非法的自动随机列 | +| 8221 | Key 编码错误 | +| 8222 | 索引 Key 编码错误 | +| 8223 | 发生了数据不一致 | +| 8224 | 找不到 DDL job | +| 8225 | DDL 已经完成,无法被取消 | +| 8226 | DDL 几乎要完成了,无法被取消 | +| 8227 | 创建 sequence 时使用了不支持的选项 | | 9001 | 请求 PD 超时,请检查 PD Server 状态/监控/日志以及 TiDB Server 与 PD Server 之间的网络 | | 9002 | 请求 TiKV 超时,请检查 TiKV Server 状态/监控/日志以及 TiDB Server 与 TiKV Server 之间的网络 | | 9003 | TiKV 操作繁忙,一般出现在数据库负载比较高时,请检查 TiKV Server 状态/监控/日志 | @@ -25,6 +114,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 9005 | 某个 Raft Group 不可用,如副本数目不足,出现在 TiKV 比较繁忙或者是 TiKV 节点停机的时候,请检查 TiKV Server 状态/监控/日志 | | 9006 | GC Life Time 间隔时间过短,长事务本应读到的数据可能被清理了,应增加 GC Life Time | | 9007 | 事务在 TiKV 中遇到了写入冲突,原因及解决方法请参考[这里](/dev/faq/tidb.md#九故障排除) | +| 9008 | 同时向 TiKV 发送的请求过多,超过了限制 | ## 故障诊断 From 2e3eda82b84ebe6cd05369c643a3d0f2b8ce7350 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Fri, 7 Feb 2020 12:14:52 +0800 Subject: [PATCH 2/5] Apply suggestions from code review --- dev/reference/error-codes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/reference/error-codes.md b/dev/reference/error-codes.md index e0888924307e..200626fe48cd 100644 --- a/dev/reference/error-codes.md +++ b/dev/reference/error-codes.md @@ -66,10 +66,10 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8101 | 插件 ID 格式错误,正确的格式是 [name]-[version] 并且 name 和 version 中不能带有 '-' | | 8102 | 无法读取插件定义信息 | | 8103 | 插件名称错误 | -| 8104 | 插件版本错误 | -| 8105 | 插件被重复载入错误 | +| 8104 | 插件版本不匹配 | +| 8105 | 插件被重复载入 | | 8106 | 插件定义的系统变量名称没有以插件名作为开头 | -| 8107 | 载入的插件版本太低 | +| 8107 | 载入的插件未指定版本或指定的版本过低 | | 8108 | 不支持的执行计划类型 | | 8109 | analyze 索引时找不到指定的索引 | | 8110 | 不能进行笛卡尔积,需要将配置文件里 cross-join 设置为 true | @@ -80,7 +80,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8115 | 不支持 prepare 多行语句 | | 8116 | 不支持 prepare DDL 语句 | | 8117 | 内部 SQL 没有读到指定的系统变量 | -| 8118 | 构建执行算子失败 | +| 8118 | 构建执行器失败 | | 8120 | 获取不到事务的 start tso | | 8121 | 权限检查失败 | | 8122 | 指定了通配符,但是找不到对应的表名 | From 23d4088c0f79cd1522cf1db1b1aa776725be85d3 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Fri, 7 Feb 2020 12:18:23 +0800 Subject: [PATCH 3/5] Apply suggestions from code review --- dev/reference/error-codes.md | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/reference/error-codes.md b/dev/reference/error-codes.md index 200626fe48cd..e59cf62b72bb 100644 --- a/dev/reference/error-codes.md +++ b/dev/reference/error-codes.md @@ -79,7 +79,6 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8114 | 未知的执行计划类型 | | 8115 | 不支持 prepare 多行语句 | | 8116 | 不支持 prepare DDL 语句 | -| 8117 | 内部 SQL 没有读到指定的系统变量 | | 8118 | 构建执行器失败 | | 8120 | 获取不到事务的 start tso | | 8121 | 权限检查失败 | From 0b44bcc92d4a9837ee3f7e5ab183e6aabb69ddd8 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Tue, 11 Feb 2020 17:39:07 +0800 Subject: [PATCH 4/5] Apply suggestions from code review Co-Authored-By: bb7133 --- dev/reference/error-codes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/reference/error-codes.md b/dev/reference/error-codes.md index e59cf62b72bb..6de87a6799c4 100644 --- a/dev/reference/error-codes.md +++ b/dev/reference/error-codes.md @@ -84,7 +84,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8121 | 权限检查失败 | | 8122 | 指定了通配符,但是找不到对应的表名 | | 8123 | 带聚合函数的 SQL 中返回非聚合的列,违反了 only_full_group_by 模式 | -| 8200 | 不支持的 DDL 类型 | +| 8200 | 尚不支持的 DDL 语法 | | 8201 | 当前 TiDB 不是 DDL owner | | 8202 | 不能对该索引解码 | | 8203 | 非法的 DDL worker | @@ -101,11 +101,11 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8216 | 非法的自动随机列 | | 8221 | Key 编码错误 | | 8222 | 索引 Key 编码错误 | -| 8223 | 发生了数据不一致 | +| 8223 | 检测出数据与索引不一致的错误 | | 8224 | 找不到 DDL job | | 8225 | DDL 已经完成,无法被取消 | | 8226 | DDL 几乎要完成了,无法被取消 | -| 8227 | 创建 sequence 时使用了不支持的选项 | +| 8227 | 创建 Sequence 时使用了不支持的选项 | | 9001 | 请求 PD 超时,请检查 PD Server 状态/监控/日志以及 TiDB Server 与 PD Server 之间的网络 | | 9002 | 请求 TiKV 超时,请检查 TiKV Server 状态/监控/日志以及 TiDB Server 与 TiKV Server 之间的网络 | | 9003 | TiKV 操作繁忙,一般出现在数据库负载比较高时,请检查 TiKV Server 状态/监控/日志 | From 0f6da28654748cbb0198a70810d4c3039e7e9f71 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Mon, 17 Feb 2020 11:32:23 +0800 Subject: [PATCH 5/5] Apply suggestions from code review Co-Authored-By: Lilian Lee --- dev/reference/error-codes.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dev/reference/error-codes.md b/dev/reference/error-codes.md index 6de87a6799c4..b55a14b651be 100644 --- a/dev/reference/error-codes.md +++ b/dev/reference/error-codes.md @@ -30,8 +30,8 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8027 | 表结构版本过期 | | 8028 | 表结构发生了变化 | | 8029 | 错误值 | -| 8030 | 转变为带符号正整数发生了越界,显示为负数 | -| 8031 | 负数转变为无符号数转变为正数 | +| 8030 | 转变为带符号正整数时发生了越界,显示为负数 | +| 8031 | 负数转变为无符号数时,被转变为正数 | | 8032 | 非法的 year 格式 | | 8033 | 非法的 year 值 | | 8034 | 不正确的 datetime 值 | @@ -44,7 +44,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8044 | 索引的状态为不存在 | | 8045 | 非法的表数据 | | 8046 | 列信息的状态为不可见 | -| 8047 | 设置的系统变量值并没有支持,通常在用户设置了数据库不支持的变量值的告警信息里出现 | +| 8047 | 设置了不支持的系统变量值,通常在用户设置了数据库不支持的变量值后的告警信息里出现 | | 8048 | 设置了不支持的数据库隔离级别 | | 8049 | 载入权限相关表失败 | | 8050 | 设置了不支持的权限类型 | @@ -59,11 +59,11 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8060 | 非法的自增列偏移量 | | 8061 | 不支持的 SQL Hint | | 8062 | SQL Hint 中使用了非法的 token,与 Hint 的保留字冲突 | -| 8063 | SQL Hint 中限制内存使用量超过系统设置的上限,忽略该设置 | +| 8063 | SQL Hint 中限制内存使用量超过系统设置的上限,设置被忽略 | | 8064 | 解析 SQL Hint 失败 | | 8065 | SQL Hint 中使用了非法的整数 | | 8066 | JSON_OBJECTAGG 函数的第二个参数是非法参数 | -| 8101 | 插件 ID 格式错误,正确的格式是 [name]-[version] 并且 name 和 version 中不能带有 '-' | +| 8101 | 插件 ID 格式错误,正确的格式是 `[name]-[version]` 并且 name 和 version 中不能带有 '-' | | 8102 | 无法读取插件定义信息 | | 8103 | 插件名称错误 | | 8104 | 插件版本不匹配 | @@ -72,7 +72,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样 | 8107 | 载入的插件未指定版本或指定的版本过低 | | 8108 | 不支持的执行计划类型 | | 8109 | analyze 索引时找不到指定的索引 | -| 8110 | 不能进行笛卡尔积,需要将配置文件里 cross-join 设置为 true | +| 8110 | 不能进行笛卡尔积运算,需要将配置文件里的 `cross-join` 设置为 `true` | | 8111 | execute 语句执行时找不到对应的 prepare 语句 | | 8112 | execute 语句的参数个数与 prepare 语句不符合 | | 8113 | execute 语句涉及的表结构在 prepare 语句执行后发生了变化 |