微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kafka Connect逻辑删除消息不应用InsertField转换

如何解决Kafka Connect逻辑删除消息不应用InsertField转换

InsertField转换未应用于逻辑删除消息中。

我正在使用postgres 10.1 / debezium 1.2.1版本/ kafka 2.4.1版本

例如。

  • 配置
{
...
    "transforms": "InsertField","transforms.InsertField.type": "org.apache.kafka.connect.transforms.InsertField$Key","transforms.InsertField.static.field": "__host","transforms.InsertField.static.value": "abc.com",...
}
  • 插入
key - {"id":1,"__host": "abc.com"},value - {"id":1,"__host": "abc.com","col1": 1,"col2": "a"}
  • 删除(逻辑删除消息不适用于InsertField转换)
key - {"id":1,"__host": "abc.com"} value - {"id":1,"col1": null,"col2": null}
key - {"id":1} value - null

为什么会发生?是虫子吗?还是我错了?

解决方法

针对墓碑消息进行InsertField转换的预期行为:

将插入键字段,并且该值保持为空。

但是在您的Kafka Connect版本(2.4.1)中,存在一个错误:未插入密钥字段。 它已在KAFKA-9707: InsertField.Key transformation should apply to tombstone records

中修复

您可以将Kafka Connect群集升级到某个修复版本(例如2.4.2)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。