[FAQ] TiDB 创建索引报错 [err="[ddl:8214]Cancelled DDL

[问题澄清]
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-](http://ngithub.com/pingcap/errors.AddStack\n\t/home/jenkins/agent/workspace/tidb_v4.0.0/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/errors.go:174\ngithub.com/pingcap/errors.Trace\n\t/home/jenkins/agent/workspace/tidb_v4.0.0/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/juju_adaptor.go:15\ngithub.com/pingcap/tidb/ddl.(*ddl)

[问题原因]
这个问题是由有使用lightning local backend 模式导入切region造成的
Issue: https://github.com/pingcap/tidb/issues/20727
PR: https://github.com/pingcap/tidb/pull/20908

[解决方案]

  1. Lighting v4.0.9 以后版本修复,使用新版本导入避免出现此情况
  2. 如果已经导入完成,出现此问题使用以下方法修复:
    (1) 将这种有问题的(可以看到没有正常的 _r 或 _i 标识) region merge 合并,再手工分裂
    image
    (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,基于精确扫描值

[参考案例]
https://asktug.com/t/topic/68214