大量删除数据后,TiCDC同步延迟,TS不推进

一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题

【TiDB 使用环境】生产环境
【TiDB 版本】v7.5.3
【部署方式】云主机自建
【操作系统/CPU 架构/芯片详情】x86_64
【机器部署详情】ticdc 8c32g300g tikv 16c64g3.5Tnvme
【集群数据量】
【集群节点数】
【问题复现路径】使用了batch 删除了ticdc同步的表
【遇到的问题:问题现象及影响】大量删除数据后,TiCDC同步延迟,TS不推进
【资源配置】

【复制黏贴 ERROR 报错的日志】[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_region_worker.go:109] [“region worker get a region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=22] [subscriptionID=98905] [regionID=98905] [reschedule=true] [error="region_not_found:<region_id:98905 > "]
[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_client.go:581] [“cdc region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [subscriptionID=24] [error="region_not_found:<region_id:98905 > "]
[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_stream.go:483] [“event feed receives a region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=26] [subscriptionID=24] [regionID=104156] [stateIsNil=false] [error="region_not_found:<region_id:104156 > "]
[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_region_worker.go:109] [“region worker get a region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=26] [subscriptionID=104156] [regionID=104156] [reschedule=true] [error="region_not_found:<region_id:104156 > "]
[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_client.go:581] [“cdc region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [subscriptionID=24] [error="region_not_found:<region_id:104156 > "]
[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_client.go:413] [“event feed will request a region”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=22] [subscriptionID=24] [regionID=98905] [storeID=109298] [addr=10.208.21.221:20160]
[2026/04/01 18:20:07.639 +08:00] [INFO] [shared_client.go:413] [“event feed will request a region”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=26] [subscriptionID=24] [regionID=104156] [storeID=3703470] [addr=10.208.21.91:20160]
[2026/04/01 18:20:07.641 +08:00] [INFO] [shared_stream.go:483] [“event feed receives a region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=22] [subscriptionID=24] [regionID=103872] [stateIsNil=false] [error="region_not_found:<region_id:103872 > "]
[2026/04/01 18:20:07.641 +08:00] [INFO] [shared_region_worker.go:109] [“region worker get a region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [streamID=22] [subscriptionID=103872] [regionID=103872] [reschedule=true] [error="region_not_found:<region_id:103872 > "]
[2026/04/01 18:20:07.641 +08:00] [INFO] [shared_client.go:581] [“cdc region error”] [namespace=default] [changefeed=********payment-tidb-20260401] [subscriptionID=24] [error="region_not_found:<region_id:103872 > "]
【其他附件:截图/日志/监控】

可以用tcpdump抓下包看看是慢还是确实没推进,之前也遇到过大量删除会有这个现象,抓包后发现delete语句在推进,只是慢

感觉主要原因可能是这个event feed error变化

停止delete超过10个小时过后 新建链路一样无法正常同步 lag越来越大 目前7个小时依然没推进checkpoint 不是慢的问题

TiCDC 的同步水位线 resolved-ts 必须等待所有早于该时间的事务完全同步完成才能前进

后面可以事务拆小一点

这个图的情况可能是pd调度频繁

感谢老师分享

从日志 region_not_found 和触发场景看,是大批量删除导致 Region 频繁合并、消失,TiCDC 重试跟不上引发同步阻塞。
v7.5.3 已有相关优化,但批量 Delete 仍建议分批执行,避免瞬间大量 Region 失效。

TiCDC 要按有序遍历 KV,遇到大量旧版本会极慢扫描

我们也遇到过,看一下你现在的gc点是什么时间

昨晚已经自行解决,大概率是一个bug。重启tikv后,这个region_not_found错误迅速降低,TiCDC也恢复正常。

1 个赞

在做一致性调整吗,可能需要的时间较长

不算 Bug,是大规模 DML 下的典型行为

TiCDC 解析 + 排序 + 输出 压力瞬间打满
导致 resolved ts 不推进、同步延迟飙升

清理完所有TiCDC链路,重建也不会恢复的,全是刷屏找不到region。
不知道你是怎么定义bug了,重启TiKV马上就恢复,感觉还是有点点问题的。
不过还好,知道怎么处理就好。