ticdc有三个同步,其实中一个报了puller mem buffer reach size limit,导致的问题是:
1,ticdc的其中一台机器cpu居高不下,所有ticdc机器内存也是居高不下,触发监控告警。
2,整个tidb的gc不能工作
3,ticdc已停止往下游同步数据,同步中断
看一下,官方的说法:
TiCDC 对大事务(大小超过 5 GB)提供部分支持,根据场景不同可能存在以下风险:
当 TiCDC 内部处理能力不足时,可能出现同步任务报错 ErrBufferReachLimit。
当 TiCDC 内部处理能力不足或 TiCDC 下游吞吐能力不足时,可能出现内存溢出 (OOM)。
导致这个问题产生的原因:
上游短时间内大范围的删除,插入,增加字段等,导致下游处理不了这么多数据。
解决办法:
1,手动同步上下游数据
2,删除原来changefeed
3,重新建ticdc的task
希望ticdc在4.0.8的以后版本中,能解决这个问题。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/tidb/2509.html