Hi 这个地方我理解是,每次处理一定数量的 StateEntry 之后,会获取当前的 timestamp 然后在 RocksDB 的 compaction 时对所有的 StateEntry 进行 filter。 > Calling of TTL filter during compaction slows it down.
Best, Congxian LakeShen <shenleifight...@gmail.com> 于2020年3月26日周四 下午8:55写道: > Hi 社区的小伙伴, > > 我现在有个关于 Flink 1.10 RocksDBStateBackend 状态清理机制的问题,在 1.10中,RocksDB 默认使用 in > background 方式进行状态清理,使用 compaction filter 方式。正如官方文档所说: > > > RocksDB compaction filter will query current timestamp, used to check > > expiration, from Flink every time after processing certain number of > state > > entries. > > > 现在有个疑问,RocksDB 在处理一定数量的 State Entrys 就会进行 compaction filter,那么这个 compaction > filter 是针对这一定数量 State Entrys ,然后检查他们是否过期吗? > 还是说,会针对一个 Task 当前所有的状态文件,统一进行 Compaction filter,在合并时,检查每个 entry,过期的状态 Key > 就过滤删除掉。 > > 这个地方我没有弄明白,非常期待你的回复。 > > Best wishes, > 沈磊 >