Hi guys, More than one year ago, we had a discussion[1] about reverting the RocksDB version for branch-4.14, and the main concern is that RocksDB 6.17.3 breaks runtime compatibility with older versions and it requires the code to be recompiled. Lari did a great investigation and you can find more details in this Apache Pulsar pull https://github.com/apache/pulsar/pull/14962. In the discussion, we have two solutions, and we choose solution 1 in the end. 1) Do not upgrade RocksDB in BookKeeper 4.14.5 and give the user which uses RocksDB an easy path to upgrade from BK 4.14.4 to 4.14.5 2) Upgrade RocksDB and requires to all the BK users to pay attention to the RocksDB version they have in the classpath. The risk is to have runtime errors which will require them to rebuild the application and redeploy their services.
However, we found two issues about the current RocksDB version (6.16.4) on branch-4.14 - In our production environment, we found both RocksDB 6.10.2 and 6.16.4 has native memory leak issue[2] and after upgraded the RocksDB version to 6.29.4.1, the memory leak issue was fixed. - We have upgraded the RocksDB version to 7.9.2 since 4.16.0, and the RocksDB can only rollback to 6.27+. It means BookKeeper 4.16.0+ can rollback to 4.15.x (RocksDB 6.29.4.1) but can't rollback to 4.14.x (RocksDB 6.16.4) if we don't upgrade the RocksDB version to 6.29.4.1 for branch-4.14 The main reason for rolling back RocksDB version for branch-4.14 is that RocksDB 6.17.3 breaks runtime compatibility with older versions and it requires the code to be recompiled. In my opinion, if users upgrade BookKeeper 4.14.7 to 4.14.8, which upgraded the RocksDB version from 6.16.4 to 6.29.4.1, they need to use the new BookKeeper package which has been compiled with new RocksDB version instead of replace the BookKeeper-server library directly. So it is safe to upgrade the RocksDB version. I have pushed one PR[4] to upgrade the RocksDB version to 6.29.4.1 for branch-4.14. Any concerns? Thanks, Hang [1] https://lists.apache.org/thread/dsdltmoy5ggqx4oj7hrt13hqok80d4jf [2] https://github.com/apache/bookkeeper/issues/3507 [3] https://github.com/apache/bookkeeper/issues/3734#issuecomment-1407626941 [4] https://github.com/apache/bookkeeper/pull/3947