This is an automated email from the ASF dual-hosted git repository.

weichiu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new cdab4eb42d HDDS-12173. Follow RocksDB basic tuning guide (#8206)
cdab4eb42d is described below

commit cdab4eb42d92e113d70678182656f051d6e25bb8
Author: kiruthiga1793 <[email protected]>
AuthorDate: Tue Apr 22 23:34:36 2025 -0400

    HDDS-12173. Follow RocksDB basic tuning guide (#8206)
---
 .../src/main/java/org/apache/hadoop/hdds/utils/db/DBProfile.java     | 5 +++++
 .../hadoop/hdds/utils/db/managed/ManagedBlockBasedTableConfig.java   | 1 +
 pom.xml                                                              | 1 +
 3 files changed, 7 insertions(+)

diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBProfile.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBProfile.java
index d7a118a849..1314cfbdb9 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBProfile.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBProfile.java
@@ -24,6 +24,7 @@
 import org.apache.hadoop.hdds.utils.db.managed.ManagedColumnFamilyOptions;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedDBOptions;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedLRUCache;
+import org.rocksdb.CompactionPriority;
 import org.rocksdb.CompactionStyle;
 
 /**
@@ -65,10 +66,12 @@ public ManagedDBOptions getDBOptions() {
       final long bytesPerSync = toLong(StorageUnit.MB.toBytes(1.00));
       final boolean createIfMissing = true;
       final boolean createMissingColumnFamilies = true;
+      final int maxBackgroundJobs = 6;
       ManagedDBOptions dbOptions = new ManagedDBOptions();
       dbOptions
           .setIncreaseParallelism(Runtime.getRuntime().availableProcessors())
           .setMaxBackgroundCompactions(maxBackgroundCompactions)
+          .setMaxBackgroundJobs(maxBackgroundJobs)
           .setMaxBackgroundFlushes(maxBackgroundFlushes)
           .setBytesPerSync(bytesPerSync)
           .setCreateIfMissing(createIfMissing)
@@ -88,6 +91,7 @@ public ManagedBlockBasedTableConfig 
getBlockBasedTableConfig() {
       config.setBlockCache(new ManagedLRUCache(blockCacheSize))
             .setBlockSize(blockSize)
             .setPinL0FilterAndIndexBlocksInCache(true)
+            .setCacheIndexAndFilterBlocks(true)
             .setFilterPolicy(new ManagedBloomFilter());
       return config;
     }
@@ -111,6 +115,7 @@ public ManagedDBOptions getDBOptions() {
     public ManagedColumnFamilyOptions getColumnFamilyOptions() {
       ManagedColumnFamilyOptions cfOptions = SSD.getColumnFamilyOptions();
       cfOptions.setCompactionStyle(CompactionStyle.LEVEL);
+      cfOptions.setCompactionPriority(CompactionPriority.MinOverlappingRatio);
       return cfOptions;
     }
 
diff --git 
a/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedBlockBasedTableConfig.java
 
b/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedBlockBasedTableConfig.java
index 5549ea99c0..6e8c4975fd 100644
--- 
a/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedBlockBasedTableConfig.java
+++ 
b/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedBlockBasedTableConfig.java
@@ -48,6 +48,7 @@ public synchronized ManagedBlockBasedTableConfig 
setBlockCache(
 
     blockCacheHolder = blockCache;
     super.setBlockCache(blockCache);
+    super.setCacheIndexAndFilterBlocks(true);
     return this;
   }
 
diff --git a/pom.xml b/pom.xml
index b6a3293e16..a726b54e98 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1545,6 +1545,7 @@
                       <!-- Allow non-RocksObject classes. -->
                       
<allowedImport>org.rocksdb.ColumnFamilyDescriptor</allowedImport>
                       
<allowedImport>org.rocksdb.CompactionStyle</allowedImport>
+                      
<allowedImport>org.rocksdb.CompactionPriority</allowedImport>
                       <allowedImport>org.rocksdb.KeyMayExist</allowedImport>
                       <allowedImport>org.rocksdb.HistogramData</allowedImport>
                       <allowedImport>org.rocksdb.HistogramType</allowedImport>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to