我正在尝试调试我们的生产 Kafka Streams 应用程序中的问题。 (简化的)拓扑看起来像这样
builder.stream("input").groupByKey().reduce(
(agg, val) -> "bar",
Materialized.as("saved_store")
);
99% 关于“输入”主题的传入消息似乎工作正常,但我发现有些情况并非如此。我在“输入”
中看到针对特定键
123
的一条消息
"123": "foo"
但是当我查看“saved_store”正在实现的私有 Kafka 主题时,那里有两条消息,而且它们看起来都像
"123": "bar"
这可能是什么原因造成的?我希望保存的存储只有一条消息并且值为“foo”,因为第一次看到该键时不应该调用减速器。
看看“saved_store”具体化的私人 Kafka 主题,
这是查看商店的错误方式。压缩主题返回商店。在日志清理线程运行之前,压缩主题不能保证开放段中的唯一键