【TICDC同步】TICDC同步kafka报ErrJSONCodecRowTooLarge解决方法

【 TiDB 使用环境】 生产环境
【 TiDB 版本】5.1/7.5
【复现路径】
TICDC 同步kafka ,遇到CDC:ErrJSONCodecRowTooLarge出错

  1. CDC创建命令
    cdc cli changefeed create --config=/data/cdc_task_conf/product/rcm_pool.toml --changefeed-id=rcm-pool --pd=“http://xx:2379” --start-ts=4552xx --sink-uri=“kafka://xxx:9092/tidb_cdc_rcm_pool?kafka-version=2.2.1&partition-num=1&max-message-bytes=134217728&replication-factor=3&kafka-client-id=9be37e3319b64774800c2920fc840c3b&max-batch-size=256”

  2. CDC 中断时的信息
    /data/cdc-8300/bin/cdc cli changefeed query -s --pd=“http://xx:2379” -c rcm-pool
    {
    “state”: “normal”,
    “tso”: 455281407841796097,
    “checkpoint”: “2025-01-13 17:32:21.584”,
    “error”: {
    “addr”: “10.xx.xx.xx:8300”,
    “code”: “CDC:ErrJSONCodecRowTooLarge”,
    “message”: “[CDC:ErrJSONCodecRowTooLarge]json codec single row too large”
    }
    }

【遇到的问题:问题现象及影响】
【资源配置】
CDC配置文件:

CDC中日志:

请教下:

  1. 如何较好的解决ErrJSONCodecRowTooLarge问题?
  2. 怎么找到当时卡着的SQL命令呢?
  3. 和kafka同学沟通不想改大kafka max-message-bytes (10M),TICDC侧设置max-message-bytes为10M可以解决问题么?是否有大的SQL过来>10M ,而导致同步失败的情况。

官方FAQ:https://docs.pingcap.com/zh/tidb/stable/ticdc-faq
另外有一个类似的贴: TICDC 同步 kafka 异常 - #8,来自 友利奈绪

你启动的时候设置的这个参数太大了吧?默认值就是10M,和你kafka同学的设置是一样的。
直接去掉再试试。

CDC中设置为10M,是否有可能会有大的SQL过来>10M ,而导致同步失败的情况? max-batch-size=256 这个还要改不?

https://docs.pingcap.com/zh/tidb/stable/ticdc-faq#ticdc-把数据同步到-kafka-时能在-tidb-中控制单条消息大小的上限吗

这个大很多了,我看默认值是16.你就默认值跑吧,别改了。
特别是看上去你们kafka的小伙伴这么强势的情况下。
你设置半天,人家基本不配合,你折腾这些意义就很有限了。
第一个问题也是一样,人kafka都不调。
真要过不去,那就只能过不去了。
碰上了再说,没碰上人家就是对的。
他不急,你也不急就完了。