TiDB Lightning has failed last time

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v3.0.11
  • 【问题描述】:

使用lighting全量导入400G左右的库,导入进行到一半,importer进程挂掉了,然后重启后,再次提交任务,lighting端提示如下错误: TiDB Lightning has failed last time; please resolve these errors first

我按提示的这个命令,清除了几张表,还是不行。

你好,麻烦提供下

  • tidb lightning 的具体版本和配置
  • importer 导入报错的日志

tidb v3.0.11 lighting v3.0.10

lighting开启web页面,任务配置如下

importer配置如下:

importer 日志如下:

importer 日志显示 importer 进程异常退出了,按照 如何正确重启 TiDB Lightning 说明,需要按以下步骤处理

  1. 结束 tidb-lightning 进程
  2. 结束 tikv-importer 进程
  3. 执行修改操作(如修复数据源、更改设置、更换硬件等)。
  4. 重启 tikv-importer
  5. 重启 tidb-lightning 并等待, 直到程序因校验和错误(如果有的话)而失败
  6. 清除失败的表及断点
  7. 再次重启 tidb-lightning

因为看文档清除断点只能单个表清除,表有几百张表,不好清除。所以我把对应的schema drop掉了(因为tidb中不止这一个schema,无法使用清除命令中的all选项)

然后把importer lighting都重启了,再次提交任务还是不行,报同样的错误

可以手动到下游清理下这些表的 checkpoint 信息,并清理 importer 目录下残留的文件,尝试重新导入。

问题已解决,虽然还不知道为什么importer进程会挂掉,但是在遇到导入异常中断,可以在修复后重新继续导入。 修复步骤如下: 1、重启 tidb-lightning 进程

2、重启 tikv-importer 进程

3、为保证数据完整,清除全部已完成的和中断的表、以及所有检查点

   tidb-lightning-ctl --checkpoint-error-destroy=all

   tidb-lightning-ctl --checkpoint-remove=all

4、关闭 tidb-lightning 进程

5、关闭 tikv-importer 进程

6、tidb中drop database xxxx

7、lighting机器上手动删除checkpoint文件:rm -f /tmp/tidb_lightning_checkpoint.pb

8、重启 tikv-importer

9、重启 tidb-lightning

receive signal 1 可能是 importer 进程检测到了控制终端异常的 hang up,看下这个时间的系统 message 日志或 dmesg 是否有异常报错。

昨天晚上9点多导入时又出现进程挂掉的现象。然后看了下操作系统日志,没有异常的输出。

importer日志也没看出有什么反常的现象

lighting日志中发现在进程宕掉的时候,出现GC更新问题

这个时间点是前一个表刚执行完checksum,然后就出错了,不知道是不是表导入时间过长,GC出问题

  1. lightning 导入时会修改 gc life time 为 100h,日志中修改 gc 更新时间失败应该是结果,不是导致导入中断的原因。ps:需要检查 tidb 当前 gc_life_time 并修改回原来的 300m。

  2. 日志看到进程接到 hangup 的信号异常退出,下面 task deliver 提示 rpc error ,表示到 importer 的操作中断;importer 日志和系统日志如果没有报错,需要检查监控,系统资源的占用过高可能导致连接中断或者程序不能及时响应。