TICDC同步消息到kafka设置了过滤器但是一直发送空值

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v8.2.0
【复现路径】设置一个过滤器的配置文件 新建一个 changefeed
【遇到的问题:问题现象及影响】ticdc发送给kafka的消息每相隔几秒就会有空消息,这是ticdc的心跳机制还是我这边的配置问题,还望大佬解惑

changefeed toml


changefeed

tiup ctl:v8.2.0 cdc changefeed create --server=http://127.0.0.1:8300 --sink-uri=“kafka://x.x.x.x:9092/kafka-test?protocol=open-protocol” --config=/etc/ticdc/cdc-filter.toml --changefeed-id=“ticdc-kafka-changefeed”

消费情况

就是正常情况下,当字段发生改变确实可以收到消息,但是数据库未发生改变时依旧相隔固定时间发送一条空消息,这个空消息是ticdc的心跳机制还是说是配置有问题

感觉是探活,这玩意影响到使用了么?

一直传递过来空值,消费者确实可以选择处理掉,就是害怕如果说以后这里面业务稍微慢一点这个消息基本是 1s发个一次容易消息积压 :joy: 就是文档中找不到这个的配置 哪怕心跳机制,让它慢点跳也行 :joy:

额 我简单翻了下,感觉也没发现这个探活配置 :thinking:

不过 1s 一次能积压啥 :melting_face:

主要不知道这个为什么辉有这个东西,心里小慌,就是害怕万一这是我某个配置错误导致的结果 :joy:

不知道 是 机制 还是 bug :joy:

我倾向于机制,写空信息搞探活应该也很正常。

是不是没啥业务流量写入?所以触发了探活?

确实没啥业务 因为限制比较高这个changefeed 只观察一个表的某个字段是否为固定值,但是其实就算我这边一直修改值,正常的业务消息能写入 但是这个探活一直不消失

1 个赞

而且,如果是探活的话,应该会有配置文件配置,这个探活的频率,这个似乎不太像但是似乎也并没别的解释因为在cdc的日志里面其实也没有每隔1s就发送一条消息 :thinking:

不行你研究研究:tiflow/pkg/config/config_test_data.go at master · pingcap/tiflow · GitHub

我看这个地方可能就是 Kafka sink 的 config。