ticdc 没报错,tso 却不变的奇怪现象
作者: db_user 原文来源:https://tidb.net/blog/54eed5f0
【是否原创】是
【首发渠道】是
【首发渠道链接】其他平台首发请附上对应链接
【正文】
一、现象
今天突然发现 ticdc 的 tso 不变,但是没有报错,而且上游和下游确实有延迟。
二、环境描述
上游: TiDB 4.0.13
下游: MySQL 5.7.26
同步: TiCDC 4.0.14
三、操作
对 cdc 同步任务做了暂停,恢复,新启了一个相同 start-tso 的同步任务都没有用,日志也出现了卡死的情况, 看不到新的日志产生
四、解决
最终在两台 ticdc 上用 tcpdump 对 3306 端口进行抓包
复制代码
(或者查看下游的通用日志)
,发现了 cdc 一直在向 mysql 传送数据包,都是一条条的 delete,和开发沟通后才知道是他们在程序中执行了批量的 delete,而 delete 操作在同步的时候会阻塞其他操作,所以会出现这种情况,可以解决的办法是将有大批量 delete 操作的表单独列为一个同步任务
如果线上会有大量的这种操作,那么 cdc 就回卡住更久的时间,所以比较难发现问题,第一次发文章,希望能对各位大佬有帮助
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/494088bf9d6b1fbdb2ccc85f1】。文章转载请联系作者。
评论