Kafka Streams 状态存储获取操作什么也取不到,即使更改日志主题显示了一个值

问题描述 投票:0回答:1

我的拓扑中添加了一个持久键值存储。在不涉及太多细节的情况下,我将解释我面临问题的部分。我想查询国营商店。

当我收到墓碑记录时,我需要查询存储以查找是否有与被删除的键对应的条目。我使用商店上的 get 调用来实现这一点

store.get(key)

但是,即使存在该键的条目,获取操作也不会获取任何内容。我知道有一个条目,因为我可以在(状态存储的)相应的变更日志主题中搜索该键。

有任何指示可以理解为什么会发生这种情况吗?磁盘上的存储如何与更改日志主题不同步?通常如何同步?

apache-kafka apache-kafka-streams
1个回答
0
投票

当给定键发送空值(墓碑)时,该键将立即从状态存储表(DB表)中删除,但不会立即从更改日志主题中删除。

收到逻辑删除后从更改日志主题中删除记录所需的时间取决于一些不同的因素,例如:提交间隔、压缩设置、复制延迟和消费者处理。

© www.soinside.com 2019 - 2024. All rights reserved.