sync_diff_inspector 校验数据,程序自动退出

【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.5 V5.3
【复现路径】做tidb到tidb的数据校验,指定schema检验
【遇到的问题:问题现象及影响】sync_diff_inspector进程自动退出,设置export-fix-sql=true程序会自动终止,设置为false的话可以正常执行完毕,生成的fix sql大概500M左右,不知道是不是由于fix sql过大,导致较校验程序异常退出。
【资源配置】不存在资源瓶颈
【附件:截图/日志/监控】无

请大佬帮忙看看分析一下可能是什么原因造成的,感谢感谢。

即使系统资源充足,单个进程可能还是受到操作系统的限制,比如ulimit设置。检查是否有相关的限制

检查下内存和磁盘呢,看看是不是资源不够了,不行分批试下呢

我们也遇到过这个问题,估计是生成的修复SQL过大

自动退出没有报错吗,我之前碰到过 sync_diff 自动退出的情况,有报什么 count1 不等于 count2,因为我的数据在变化

没啥报错,就校验了大概90%多的时候断开了,也是报的“the count is not correct” count(1)=11111 count(2)=22222 count=33333 大概就这样,后面是go的抛错

你能把日志发出来吗,没日志帮不了你

我用手机贴一下




校验过程中数据需要是静态的

这肯定不是啊,我用比较小的schema,全schema比对就可以,数据量大的schema就异常退出

减少范围试一下,看报错吗

数据需要是静态的,动态的话需要加 snapshot 参数,同时要求对比的上下游都得是 tidb,报错原因是在用二分法找错误数据的时候,发现拆分后的行数加起来对不上原来的

1 个赞

数据量小的schema是没有问题的,稍微大点儿就不行了

懂了,要加snapshot,我试试,应该是这个原因,感谢

已经试过了,指定tso是可以的,感谢大佬

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。