【是否原创】是
【首发渠道】是
【首发渠道链接】其他平台首发请附上对应链接
【正文】
一、现象
今天突然发现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就回卡住更久的时间,所以比较难发现问题,第一次发文章,希望能对各位大佬有帮助