Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Implemented
-
1.7.0
Description
In case of rocksdb backend, we can piggy back compaction using custom compaction filter which checks our last access timestamp and discards expired values. It requires contributing a C++ Flink TTL specific filter to Rocksdb, like for cassandra. At the moment RocksDB does not support compaction filter plugins (see PR discussion), it is under development.
Meanwhile, we can apply to strategies to enable this feature in Flink:
- Release and maintain a temporary fork of RocksDB for Flink: FRocksDB and merge TTL filter into this fork (used in Flink 1.8)
- Build C++ TTL filter separately, pack this C++ lib into its JNI java client jar and load it in Flink additionally to vanila RocksDB (Flink RocksDB extensions, planned for Flink 1.9)
The second strategy is more flexible in the long run.
Attachments
Issue Links
- is depended upon by
-
FLINK-3089 State API Should Support Data Expiration (State TTL)
- Closed
- is related to
-
FLINK-16686 [State TTL] Make user class loader available in native RocksDB compaction thread
- Open
-
FLINK-15506 State TTL Compaction Filter option off by default
- Closed
- links to