MR_RELAX
(Hacker Sm O Xcqn H)
2021 年8 月 27 日 07:01
1
Bug 反馈
CDC日志突然出现以下错误,然后时间就不再往前推进,CPU变的很高。
[ERROR] [processor.go:158] [“run processor failed”] [changefeed=cdc-20210816-1] [capture=192.168.205.158:8300] [error="[CDC:ErrFlowControllerEventLargerThanQuota]event is larger than the total memory quota, size: 36666380, quota: 20971520"]
请问这个是什么原因?如何解决?
2 个赞
MR_RELAX
(Hacker Sm O Xcqn H)
2021 年8 月 27 日 07:03
3
不知道如何复现,突然之间就这样了,近期已发生过两次,删了ChangeFeed后,重建才好的。
2 个赞
MR_RELAX
(Hacker Sm O Xcqn H)
2021 年8 月 27 日 07:27
5
是不是修改 cdc下的per-table-memory-quota ?
2 个赞
xfworld
(魔幻之翼)
2021 年8 月 27 日 08:00
6
同步的数据需要更多的内存,调整下参数了
event is larger than the total memory quota, size: 36666380, quota: 20971520
你得预估下,后面CDC同步数据的规模,按规模配置个内存,不然还得报错的
2 个赞
MR_RELAX
(Hacker Sm O Xcqn H)
2021 年8 月 27 日 09:16
9
分析了v5.1.1官方源码,就是per-table-memory-quota这个参数限制,但这个参数是写死的(20MB)。
2 个赞
MR_RELAX
(Hacker Sm O Xcqn H)
2021 年8 月 27 日 10:03
10
再次研究了ticdc的源码,发现这个内存限制,是通过单个消息的(key+value+oldvalue)的总长度来检查的,由于默认value的长度是6MB,所以20MB,理论上是安全的。但由于我们使用特殊,把value的限制提高了,从而导致理论长度会大于20MB,从而导致了错误。
现在,我们只能暂时通过自己修改TICDC的源码来解决,希望官方今后能够把修改该参数的功能反应到新版本中。
3 个赞
xfworld
(魔幻之翼)
2021 年8 月 28 日 01:58
11
我反馈到需求区吧,后续要求提供配置参数来解决这个问题,不过相应的内存的要求也会有变化
以后可以跟进一下
2 个赞
system
(system)
关闭
2022 年10 月 31 日 19:15
12
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。