Hi Feifan, 主要原因是为了支持TTL state的compaction filter [1],因为属于定制化内容,RocksDB社区无法纳入主分支,我们后续也在考虑采用插件化形式,复用RocksDB社区的原生RocksJava。当然,现在还有个棘手的问题是RocksJava在5.18 之后存在性能回退,导致目前无法直接升级。你可以关注 FLINK-14482 跟踪后续的发展
[1] https://github.com/ververica/frocksdb/commit/01dca02244522e405c9258000903fee81496f72c [2] https://issues.apache.org/jira/browse/FLINK-14482 Best Yun Tang ________________________________ From: zoltar9264 <zoltar9...@163.com> Sent: Wednesday, March 24, 2021 13:48 To: user-zh <user-zh@flink.apache.org> Subject: 【疑问】RocksDBStateBackend为什么使用单独封装的frocksdbjni,而不用RocksDB官方提供的RocksJava 大家好, 在RocksDBStateBackend的pom中看到是使用了 frocksdbjni,看了下这个包是dataArtisans自己的。而RocksDBStateBackend是有提供Java sdk的,叫RocksJava。RocksDBStateBackend为什么不直接用 RocksJava呢? | | Feifan Wang | | zoltar9...@163.com | 签名由网易邮箱大师定制