This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 191adfc adjust default rocksDbBlockCache size to 10%/numberOfLedgers
of direct memory (#2643)
191adfc is described below
commit 191adfc22c67285927d60da61b4a8f6567ebdb9f
Author: hangc0276 <[email protected]>
AuthorDate: Fri Mar 19 02:15:22 2021 +0800
adjust default rocksDbBlockCache size to 10%/numberOfLedgers of direct
memory (#2643)
* adjust default rocksDbBlockCache size to 10%/numberOfLedgers of direct
memory instead of 10% of direct memory
* update bk_server configuration doc
Co-authored-by: Matteo Merli <[email protected]>
---
.../apache/bookkeeper/bookie/storage/ldb/KeyValueStorageRocksDB.java | 5 +++--
conf/bk_server.conf | 4 ++--
2 files changed, 5 insertions(+), 4 deletions(-)
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 c274791..6a71009 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
@@ -103,8 +103,9 @@ public class KeyValueStorageRocksDB implements
KeyValueStorage {
options.setCreateIfMissing(true);
if (dbConfigType == DbConfigType.Huge) {
- // Set default RocksDB block-cache size to 10% of direct mem,
unless override
- long defaultRocksDBBlockCacheSizeBytes =
PlatformDependent.maxDirectMemory() / 10;
+ // Set default RocksDB block-cache size to 10% /
numberOfLedgers of direct memory, unless override
+ int ledgerDirsSize = conf.getLedgerDirNames().length;
+ long defaultRocksDBBlockCacheSizeBytes =
PlatformDependent.maxDirectMemory() / ledgerDirsSize / 10;
long blockCacheSize =
DbLedgerStorage.getLongVariableOrDefault(conf, ROCKSDB_BLOCK_CACHE_SIZE,
defaultRocksDBBlockCacheSizeBytes);
diff --git a/conf/bk_server.conf b/conf/bk_server.conf
index c6e6937..e325a9f 100755
--- a/conf/bk_server.conf
+++ b/conf/bk_server.conf
@@ -684,8 +684,8 @@ ledgerDirectories=/tmp/bk-data
# Size of RocksDB block-cache. For best performance, this cache
# should be big enough to hold a significant portion of the index
# database which can reach ~2GB in some cases
-# Default is 256 MBytes
-# dbStorage_rocksDB_blockCacheSize=268435456
+# Default is to use 10% / numberOfLedgers of the direct memory size
+# dbStorage_rocksDB_blockCacheSize=
# Other RocksDB specific tunables
# dbStorage_rocksDB_writeBufferSizeMB=64