为什么在重启时不会填写具有内存中键值存储的GlobalKTable?

时间:2018-03-24 20:00:39

标签: apache-kafka-streams

我正在试图弄清楚GlobalKTable是如何工作的,并注意到我的内存键值存储未被填充以防重启。然而,文档听起来它是在重新启动时填充的,因为整个数据在客户端上是重复的。

当我调试我的应用程序时,看到/tmp/kafka-streams/category-client-1/global/.checkpoint上有一个文件,它包含一个关于我的主题的偏移量。对于持久保存数据并改善重启的商店来说,这可能是必要的,但是由于此文件中存在偏移,我的应用程序会跳过恢复其状态。

如何确保每次重启或重启都包含我主题的完整数据?

1 个答案:

答案 0 :(得分:1)

因为您使用的是内存存储,所以我认为您遇到了这个错误:https://issues.apache.org/jira/browse/KAFKA-6711

作为一种变通方法,您可以删除全局存储的本地检查点文件 - 这将在重新启动时触发引导。或者您切换回默认的RocksDB商店。