[问题澄清]
TiDB 创建索引报错 [err="[ddl:8214]Cancelled DDL job[ngithub.com/pingcap/errors.AddStack
\t/home/jenkins/agent/workspace/tidb_v4.0.0/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-](ngithub.com
[问题原因]
这个问题是由有使用lightning local backend 模式导入切region造成的
Issue: *: `insufficient bytes decode value` reported when adding index for some split common-handled tables. · Issue #20727 · pingcap/tidb · GitHub
PR: ddl: use kv.Key as reorg progress marker instead of kv.Handle by tangenta · Pull Request #20908 · pingcap/tidb · GitHub
[解决方案]
- Lighting v4.0.9 以后版本修复,使用新版本导入避免出现此情况
- 如果已经导入完成,出现此问题使用以下方法修复:
(1) 将这种有问题的(可以看到没有正常的 _r 或 _i 标识) region merge 合并,再手工分裂
(2) 合并和分裂方法使用 pd-ctl(https://docs.pingcap.com/zh/tidb/stable/pd-control#operator-check--show--add--remove)
>> operator add merge-region 1 2 // 将 Region 1 与 Region 2 合并
>> operator add split-region 1 --policy=approximate // 将 Region 1 对半拆分成两个 Region,基于粗略估计值
>> operator add split-region 1 --policy=scan // 将 Region 1 对半拆分成两个 Region,基于精确扫描值
[参考案例]
