Kafka Kstream-Ktable连接中未处理逻辑删除记录

j2qf4p5b  于 2023-03-17  发布在  Apache
关注(0)|答案(1)|浏览(122)

我有这样的kstream拓扑结构:

KStream<String, Data> eventStream = streamsBuilder.stream("event",
        Consumed.with(Serdes.String(), eventSerde);

KTable<String, Result> resultKTable = streamsBuilder.table("result",
        Consumed.with(Serdes.String(), resultSerde));

eventStream.leftJoin(resultKTable, new Joiner())
        .to("result", Produced.with(Serdes.String(), resultSerde));

当我在“事件”主题中发送tombstone记录时,出现此错误

Skipping record due to null join key or value. key=[3428642] value=[null] topic=[event] partition=[0] offset=[21]
9lowa7mx

9lowa7mx1#

这不是错误,而是警告。
如Kafka Streams文档中针对KStream-KTable左连接所写:
具有空键或空值的流的输入记录将被忽略,并且不会触发连接
这是预期情景。
边注:luppeng.wordpress.com上有一篇关于这个问题和可能的解决方案的博客,可能会派上用场。

相关问题