ticdc [CDC:ErrBufferReachLimit]puller mem buffer reach size limit

张映 发表于 2021-03-08

分类目录: tidb

标签:,

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