zhenda
(Zhenda)
1
【背景】:新搭建集群
【TiDB 版本】: v 5.0.1
【TiDB Operator 版本】:1.1.4
集群状态
新搭建的集群,通过lightning导入数据,共5亿,只导入3亿,
lightning日志:tidb-lightning.log (1.2 MB)
尝试操作:
1执行
tidb-lightning-ctl --checkpoint-error-destroy=all
2,tiflash replica 副本设置为0,
3,删除基础表数据,
4.重新导入
报错:
过段时间重新执行
仍有部分数据没有导入;
1 个赞
spc_monkey
(carry@pingcap.com)
2
1、帮确认一个信息:select count(*) 这个语句应该走的 tiflash(这点帮看执行计划确认一下)
2、这个 select count() 语句的结果集,是固定不变的了吗(也帮确认一下)
zhenda
(Zhenda)
3
测试了好几次,走tiflash的
之前导入3.1亿,这次导入了4.2亿
另外导入完之后统计信息是10000,也不准,手动更新的
spc_monkey
(carry@pingcap.com)
4
感觉和一个 bug 比较相似,不过建议咱们提供一下,tiflash 的日志,我们好确认一下。不过先确认几个信息:
1、tikv 的数据是否有问题(应该没问题,不过需要确认一下)
2、tiflash 的日志需要给一下
zhenda
(Zhenda)
5
bug问题大概如何修复?
tikv数据是否有问题应该如何验证?目前除了数据无法成功导入其它看起来正常
tiflash-0.log (4.4 MB)
zhenda
(Zhenda)
6
另外,lightning无法完整导入数据的问题,帮分析下。
zhenda
(Zhenda)
9
导入数据时,同时开启了tiflash,set tiflash replica1;这样tiflash同步更快一些,若不开启tiflash,是否能成功导入数据呢?
spc_monkey
(carry@pingcap.com)
10
1、能成功导入
2、上面 select count() 语句 ,查询 tikv 的结果是多少啊,上面没有提供(我需要确认 tiflash 的结果集和 tikv 的 不一样)
如果 tikv 查询结果为 0,表明导入失败或者可能 schema 有主键索引但无索引数据,可以在 lightning 相关日志中查看是否完全导入成功。
导入过程中进行查询是未定义行为,如果 tidb 下推 cop 查询到 tiflash,就会读到中间数据。此处后续需要改进,令 tidb 不能在这种情况下向 tiflash 发起 cop 请求。
为了排除 tiflash 的影响,建议先删除 tiflash replica,等导入成功并确认无误后再建。
zhenda
(Zhenda)
14
日志中查看导入成功,且正常退出。
本次测试是删除 tiflash replica,等导入成功并确认无误后再建。缺点:同步过程太慢,比导入时同步慢很多。
gaolei
(Gaolei)
15
@zhenda lighting 的日志里面有如下一行:
[2021/06/07 12:05:50.795 +08:00] [INFO] [main.go:46] ["got signal to exit"] [signal=hangup]
即lightning 收到了用户手动终止的 sighub 信号,然后停止了当前的导入进度退出了,麻烦确认一下这个终止的原因是什么(正常比较可能是连接的 ssh 断开导致)。 在这种情况下,lightning 导入并没有完成,因此数据不完整是预期的行为。目前lightning 导入支持断点续传,直接使用原来的配置重启lightning 即可,然后待导入完成后可以在确认一下数据是否完整。lightning 自身有 checksum 校验,如果校验成功,一般可以确保数据是完整的。