From 932b0c0462a9eeb27b5571d0cab6aaa9a3af54e9 Mon Sep 17 00:00:00 2001 From: Andrey Yegorov Date: Thu, 6 Jun 2024 13:55:15 -0700 Subject: [PATCH] Upgrade RocksDB to version 9.2.1 --- bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt | 6 +++--- bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt | 6 +++--- .../bookie/storage/ldb/KeyValueStorageRocksDB.java | 7 +++++-- pom.xml | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt index 8d0433f0028..84a787dbde1 100644 --- a/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt +++ b/bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt @@ -271,7 +271,7 @@ Apache Software License, Version 2. - lib/org.eclipse.jetty-jetty-servlet-9.4.53.v20231009.jar [22] - lib/org.eclipse.jetty-jetty-util-9.4.53.v20231009.jar [22] - lib/org.eclipse.jetty-jetty-util-ajax-9.4.53.v20231009.jar [22] -- lib/org.rocksdb-rocksdbjni-7.10.2.jar [23] +- lib/org.rocksdb-rocksdbjni-9.2.1.jar [23] - lib/com.beust-jcommander-1.82.jar [24] - lib/com.yahoo.datasketches-memory-0.8.3.jar [25] - lib/com.yahoo.datasketches-sketches-core-0.8.3.jar [25] @@ -375,7 +375,7 @@ Apache Software License, Version 2. [20] Source available at https://github.com/apache/commons-lang/tree/LANG_3_6 [21] Source available at https://github.com/apache/zookeeper/tree/release-3.8.0 [22] Source available at https://github.com/eclipse/jetty.project/tree/jetty-9.4.48.v20220622 -[23] Source available at https://github.com/facebook/rocksdb/tree/v7.10.2 +[23] Source available at https://github.com/facebook/rocksdb/tree/v9.2.1 [24] Source available at https://github.com/cbeust/jcommander/tree/1.82 [25] Source available at https://github.com/DataSketches/sketches-core/tree/sketches-0.8.3 [26] Source available at https://github.com/lz4/lz4-java/tree/1.3.0 @@ -635,7 +635,7 @@ This private header is also used by Apple's open source * http://www.opensource.apple.com/source/configd/configd-453.19/dnsinfo/dnsinfo.h ------------------------------------------------------------------------------------ -lib/org.rocksdb-rocksdbjni-7.10.2.jar is derived from leveldb, which is under the following license. +lib/org.rocksdb-rocksdbjni-9.2.1.jar is derived from leveldb, which is under the following license. Copyright (c) 2011 The LevelDB Authors. All rights reserved. diff --git a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt index 328cbacd2fe..e96e8f2d7dd 100644 --- a/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt +++ b/bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt @@ -271,7 +271,7 @@ Apache Software License, Version 2. - lib/org.eclipse.jetty-jetty-servlet-9.4.53.v20231009.jar [22] - lib/org.eclipse.jetty-jetty-util-9.4.53.v20231009.jar [22] - lib/org.eclipse.jetty-jetty-util-ajax-9.4.53.v20231009.jar [22] -- lib/org.rocksdb-rocksdbjni-7.10.2.jar [23] +- lib/org.rocksdb-rocksdbjni-9.2.1.jar [23] - lib/com.beust-jcommander-1.82.jar [24] - lib/com.yahoo.datasketches-memory-0.8.3.jar [25] - lib/com.yahoo.datasketches-sketches-core-0.8.3.jar [25] @@ -371,7 +371,7 @@ Apache Software License, Version 2. [20] Source available at https://github.com/apache/commons-lang/tree/LANG_3_6 [21] Source available at https://github.com/apache/zookeeper/tree/release-3.8.0 [22] Source available at https://github.com/eclipse/jetty.project/tree/jetty-9.4.48.v20220622 -[23] Source available at https://github.com/facebook/rocksdb/tree/v7.10.2 +[23] Source available at https://github.com/facebook/rocksdb/tree/v9.2.1 [24] Source available at https://github.com/cbeust/jcommander/tree/1.82 [25] Source available at https://github.com/DataSketches/sketches-core/tree/sketches-0.8.3 [26] Source available at https://github.com/lz4/lz4-java/tree/1.3.0 @@ -630,7 +630,7 @@ This private header is also used by Apple's open source * http://www.opensource.apple.com/source/configd/configd-453.19/dnsinfo/dnsinfo.h ------------------------------------------------------------------------------------ -lib/org.rocksdb-rocksdbjni-7.10.2.jar is derived from leveldb, which is under the following license. +lib/org.rocksdb-rocksdbjni-9.2.1.jar is derived from leveldb, which is under the following license. Copyright (c) 2011 The LevelDB Authors. All rights reserved. diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageRocksDB.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageRocksDB.java index a77a0a18f7c..207efe835e1 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageRocksDB.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/KeyValueStorageRocksDB.java @@ -47,6 +47,7 @@ import org.rocksdb.ColumnFamilyDescriptor; import org.rocksdb.ColumnFamilyHandle; import org.rocksdb.CompressionType; +import org.rocksdb.ConfigOptions; import org.rocksdb.DBOptions; import org.rocksdb.Env; import org.rocksdb.InfoLogLevel; @@ -154,8 +155,10 @@ private RocksDB initializeRocksDBWithConfFile(String basePath, String subPath, D DBOptions dbOptions = new DBOptions(); final List cfDescs = new ArrayList<>(); final List cfHandles = new ArrayList<>(); - try { - OptionsUtil.loadOptionsFromFile(dbFilePath, Env.getDefault(), dbOptions, cfDescs, false); + try (final ConfigOptions cfgOpts = new ConfigOptions() + .setIgnoreUnknownOptions(false) + .setEnv(Env.getDefault())) { + OptionsUtil.loadOptionsFromFile(cfgOpts, dbFilePath, dbOptions, cfDescs); // Configure file path String logPath = conf.getString(ROCKSDB_LOG_PATH, ""); if (!logPath.isEmpty()) { diff --git a/pom.xml b/pom.xml index 0a65d23d0dc..cd6bd7d2598 100644 --- a/pom.xml +++ b/pom.xml @@ -165,7 +165,7 @@ ${protobuf.version} ${grpc.version} 0.9.11 - 7.10.2 + 9.2.1 3.3.0 2.0.12 2.0