Flink 1.15 中的 cleanupInRocksdbCompactFilter 方法

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

我无法理解 Apache Flink 1.15 中有关 TTL 设置的“cleanupInRocksdbCompactFilter”方法的“queryTimeAfterNumEntries”参数。
医生说:

Rocksdb 压缩运行时清理过期状态。
RocksDB 压缩过滤器每次处理完 queryTimeAfterNumEntries 状态条目数后,都会从 Flink 中查询当前时间戳,用于检查过期情况。更频繁地更新时间戳可以提高清理速度,但会降低压缩性能,因为它使用来自本机代码的 JNI 调用。
参数:
queryTimeAfterNumEntries - 在更新当前时间戳之前由压缩过滤器处理的状态条目数

压缩过滤器何时处理状态条目?我如何测试此清理策略的功能?

amazon-web-services apache-flink flink-streaming
1个回答
0
投票

对于检查点没有变小的原因,有几种可能的解释。

有一个长期存在的错误,直到最近才作为 Flink 1.20 的一部分修复。有关更多信息,请参阅 https://issues.apache.org/jira/browse/FLINK-26050

同样重要的是要记住,RocksDB 压缩是一个持续的增量过程,在某些情况下不会经常发生。如果你的总状态大小不是很大,可能是 RocksDB 还没有感觉到需要压缩,在这种情况下,你的 TTL 策略可能没有机会做任何事情。

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