tombstone消息中未应用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, "__host": "abc.com", "col1": null, "col2": null}
key - {"id":1} value - null
为什么会这样?是虫子吗?还是我错了?
1条答案
按热度按时间yruzcnhs1#
预期行为
InsertField
墓碑消息转换:键字段被插入,并且值保持为空。
但是在kafka connect版本(2.4.1)中有一个bug:key字段没有插入。它在kafka-9707:insertfield中被修复。密钥转换应该应用于墓碑记录
您可以将kafka connect群集升级到某个修复版本(例如2.4.2)。