我在使用 kstream 连接时遇到问题。我所做的是从一个主题中分离出 3 种不同类型的消息到新的流中。然后用两个创建另一个流的流进行一次内连接,最后我对新流和最后一个剩余流进行最后一次左连接。
连接的窗口时间为 30 秒。
这样做是为了过滤掉一些被其他人覆盖的消息。
我在 kubernetes 上运行此应用程序,并且 pod 的磁盘空间无限增长,直到 pod 崩溃。
我意识到这是因为连接将数据本地存储在 tmp/kafka-streams 目录中。
这些目录被称为:KSTREAM-JOINTHIS... KSTREAM-OUTEROTHER..
它存储来自 RocksDb 的 sst 文件,并且这些文件无限增长。
我的理解是,因为我使用 30 秒的窗口时间,所以这些应该在特定时间后被清除,但不是。
我还将 WINDOW_STORE_CHANGE_LOG_ADDITIONAL_RETENTION_MS_CONFIG 更改为 10 分钟,看看是否会发生变化,但事实并非如此。
我需要了解如何改变这种情况。