You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by zoltar9264 <zo...@163.com> on 2021/03/24 05:48:25 UTC

【疑问】RocksDBStateBackend为什么使用单独封装的frocksdbjni,而不用RocksDB官方提供的RocksJava

大家好,
        在RocksDBStateBackend的pom中看到是使用了 frocksdbjni,看了下这个包是dataArtisans自己的。而RocksDBStateBackend是有提供Java sdk的,叫RocksJava。RocksDBStateBackend为什么不直接用 RocksJava呢?


| |
Feifan Wang
|
|
zoltar9264@163.com
|
签名由网易邮箱大师定制


Re: 【疑问】RocksDBStateBackend为什么使用单独封装的frocksdbjni,而不用RocksDB官方提供的RocksJava

Posted by Yun Tang <my...@live.com>.
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 <zo...@163.com>
Sent: Wednesday, March 24, 2021 13:48
To: user-zh <us...@flink.apache.org>
Subject: 【疑问】RocksDBStateBackend为什么使用单独封装的frocksdbjni,而不用RocksDB官方提供的RocksJava

大家好,
        在RocksDBStateBackend的pom中看到是使用了 frocksdbjni,看了下这个包是dataArtisans自己的。而RocksDBStateBackend是有提供Java sdk的,叫RocksJava。RocksDBStateBackend为什么不直接用 RocksJava呢?


| |
Feifan Wang
|
|
zoltar9264@163.com
|
签名由网易邮箱大师定制