Flink 1.10: 关于 RocksDBStateBackend In background 状态清理机制的问题

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink 1.10: 关于 RocksDBStateBackend In background 状态清理机制的问题

LakeShen
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,
沈磊
Reply | Threaded
Open this post in threaded view
|

Re: Flink 1.10: 关于 RocksDBStateBackend In background 状态清理机制的问题

Congxian Qiu
Hi

这个地方我理解是,每次处理一定数量的 StateEntry 之后,会获取当前的 timestamp 然后在 RocksDB 的 compaction
时对所有的 StateEntry 进行 filter。
> Calling of TTL filter during compaction slows it down.

Best,
Congxian


LakeShen <[hidden email]> 于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,
> 沈磊
>
Reply | Threaded
Open this post in threaded view
|

Re: Flink 1.10: 关于 RocksDBStateBackend In background 状态清理机制的问题

LakeShen
嗯嗯,非常感谢你的回答,Congxian Qiu  😀。

Congxian Qiu <[hidden email]> 于2020年3月28日周六 上午11:39写道:

> Hi
>
> 这个地方我理解是,每次处理一定数量的 StateEntry 之后,会获取当前的 timestamp 然后在 RocksDB 的 compaction
> 时对所有的 StateEntry 进行 filter。
> > Calling of TTL filter during compaction slows it down.
>
> Best,
> Congxian
>
>
> LakeShen <[hidden email]> 于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,
> > 沈磊
> >
>