作者:db_user

【是否原创】是

其他平台首发请附上对应链接
【正文】


一、现象

今天突然发现ticdc的tso不变,但是没有报错,而且上游和下游确实有延迟。



二、环境描述

上游: TiDB 4.0.13
下游: MySQL 5.7.26
同步: TiCDC 4.0.14



三、操作

对cdc同步任务做了暂停,恢复,新启了一个相同start-tso的同步任务都没有用,日志也出现了卡死的情况,看不到新的日志产生



四、解决

最终在两台ticdc上用tcpdump对3306端口进行抓包

tcpdump -i any -s 0 -l -w - dst port 3306

(或者查看下游的通用日志)
,发现了cdc一直在向mysql传送数据包,都是一条条的delete,和开发沟通后才知道是他们在程序中执行了批量的delete,而delete操作在同步的时候会阻塞其他操作,所以会出现这种情况,可以解决的办法是将有大批量delete操作的表单独列为一个同步任务

如果线上会有大量的这种操作,那么cdc就回卡住更久的时间,所以比较难发现问题,第一次发文章,希望能对各位大佬有帮助