kafka过滤消息与tombstone



我正在阅读Kafka中的消息过滤,我看到了一些对我来说很有趣的例子,但我有一个问题,这不是我遇到的代码错误,只是为了确认我的理解。

例如,如果我正确阅读了代码,消息的过滤器只会使记录为空

https://github.com/apache/kafka/blob/trunk/connect/transforms/src/main/java/org/apache/kafka/connect/transforms/Filter.java#L39

记录为null是否与表示内容为tombstone记录不同?进一步的过程将如何理解这是一个有效的逻辑删除记录还是一个被过滤的简单消息(我可以理解消息密钥会不同(

主要针对对tombstone感兴趣的系统,我只是想知道过滤是否不会产生不期望的结果;空";和墓碑一样是完全错误的。

我确实理解(或者我认为我理解(record.value() == nullrecord == null之间有区别,但这不会在转换链的其余部分中导致很多空指针异常吗?

感谢您的反馈。

tombstone记录具有非null键和null值属性。无法获取null连接记录实例的密钥。

转换链将忽略后续转换中的空记录,因此它们更像"空";丢弃";比基于特定属性过滤的

最新更新