使用TiCDC在两个TiDB集群之间做数据同步的问题

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】7.1.1
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】当启动了一个CDC任务后,checkpoint_time不会向前推进,查看日志大量报region_not_found的错误,如下图:
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

这种情况是啥原因引起的呢,可以确定的是上游会大批量更新和删除数据。

图中日志有描述,region 找不到了,但是这些都是 info 信息

参考官方的处理办法试试

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-ticdc#如何处理-ticdc-同步任务的中断

上游大批量更新/删除数据的时候会引起 region 的 merge,这样 cdc 订阅的 region 就会产生变化,所以会有断连产生,就会打印这些日志,这是正常的。

断连之后,cdc 会向新的 region 发起请求,重新订阅,重新订阅会对 region 进行增量扫,可能会产生一定时间的延迟上升。正常情况下,延迟会自动恢复。

但是 7.1.1 有 bug 可能会在上游 region 产生变动时引起同步中断无法自动恢复,这时候可以通过手动重启 changefeed 进行恢复。

issue: TiCDC changefeed's resolved-ts is stuck · Issue #10157 · pingcap/tiflow · GitHub

建议使用 7.1.5 的 cdc 以避免遇到这个 bug。

1 个赞

但是每次都手动重启也不是个事儿啊,除了升级,还有没其他解决办法呢。

要是有个可视化界面就好了

最好就是升级 cdc,要不然就只能重启,没有别的办法了。

这个任务里面有多少表

共有120+的表

专栏 - 10倍提升-TiCDC性能调优实践 | TiDB 社区

看看这个,试着把任务拆分开,按理说7版本的TICDC性能还是可以的

经验来说,在v7.1的版本下,你至少要把版本升级到v7.1.4, ticdc使用起来才流畅, 前面版本各种bug,我前面发过很多帖子