canal icon indicating copy to clipboard operation
canal copied to clipboard

请问如果设置了canal.instance.filter.field 这个参数后,会有"old":null这种数据产生,在canal-adapter会过滤掉;这种数据正常吗?

Open Athtina opened this issue 3 years ago • 3 comments

Question

请问如果设置了canal.instance.filter.field 这个参数后,会有"old":null这种数据产生,在canal-adapter会过滤掉;这种数据正常吗?

由于项目中有个从表,更新频率非常的高,影响到了性能。但是需要关联的从表对应的字段是不常更新的;所以,用了canal.instance.filter.field 这个参数,来过滤对应不关心的字段变更的消息,但是用了这个参数后,有大量的"old":null这种数据产生;看了一下canal-adapter源码中有过滤这种数据(如下图),这种数据是正常现象的数据吗(本人猜测是对应被过滤的字段有更新,关心字段没更新,所以会有这种数据产生),还是有其他原因 导致的异常数据? 会造成消费能力超高的假象(由于提前返回,没有相关mysql与es的操作);

image

mysql的【binlog_row_image】参数当前设置成的是FULL 屏幕快照 2021-07-13 下午11 03 31

Athtina avatar Jul 13 '21 15:07 Athtina

你配置的 canal.instance.filter.field 生效了吗?我这边配置的这个属性没有生效不知道什么原因可否交流一下

ChenJie193 avatar Oct 21 '21 09:10 ChenJie193

我们生产环境也遇到了一样的问题,这样很不合理,未变化的消息还推到kafka,导致canal delay延迟较高。@agapple 能改造成filter.field字段不修改,则不推送kafka么?

zzyymaggie avatar Aug 09 '22 12:08 zzyymaggie

@agapple 大神帮忙看下?这个有计划支持吗?

ofloxacin avatar Apr 08 '24 09:04 ofloxacin