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

hemant 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 18437a3874 HDDS-11214. Added config to set rocksDB's max log file size 
and num of log files (#7014)
18437a3874 is described below

commit 18437a38748b4a5333bb08095eadd4bfb913afb6
Author: Hemant Kumar <[email protected]>
AuthorDate: Fri Aug 2 14:04:40 2024 -0700

    HDDS-11214. Added config to set rocksDB's max log file size and num of log 
files (#7014)
---
 .../hadoop/hdds/utils/db/DBStoreBuilder.java       |  4 +++
 .../hadoop/hdds/utils/db/RocksDBConfiguration.java | 30 ++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
index 31089bc1c0..ed8d145b66 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
@@ -413,6 +413,10 @@ public final class DBStoreBuilder {
       dbOptions.setLogger(logger);
     }
 
+    // RocksDB log settings.
+    dbOptions.setMaxLogFileSize(rocksDBConfiguration.getMaxLogFileSize());
+    dbOptions.setKeepLogFileNum(rocksDBConfiguration.getKeepLogFileNum());
+
     // Apply WAL settings.
     dbOptions.setWalTtlSeconds(rocksDBConfiguration.getWalTTL());
     dbOptions.setWalSizeLimitMB(rocksDBConfiguration.getWalSizeLimit());
diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDBConfiguration.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDBConfiguration.java
index 7864946188..dd197affe9 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDBConfiguration.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDBConfiguration.java
@@ -46,6 +46,20 @@ public class RocksDBConfiguration {
       description = "OM RocksDB logging level (INFO/DEBUG/WARN/ERROR/FATAL)")
   private String rocksdbLogLevel;
 
+  @Config(key = "rocksdb.max.log.file.size",
+      type = ConfigType.SIZE,
+      defaultValue = "0MB",
+      tags = {OM, SCM, DATANODE},
+      description = "Maximum size of RocksDB application log file.")
+  private long rocksdbMaxLogFileSize = 0;
+
+  @Config(key = "rocksdb.keep.log.file.num",
+      type = ConfigType.INT,
+      defaultValue = "1000",
+      tags = {OM, SCM, DATANODE},
+      description = "Maximum number of RocksDB application log files.")
+  private int rocksdbKeepLogFileNum = 1000;
+
   @Config(key = "rocksdb.writeoption.sync",
       type = ConfigType.BOOLEAN,
       defaultValue = "false",
@@ -110,4 +124,20 @@ public class RocksDBConfiguration {
   public long getWalSizeLimit() {
     return walSizeLimit;
   }
+
+  public void setMaxLogFileSize(long fileSize) {
+    rocksdbMaxLogFileSize = fileSize;
+  }
+
+  public long getMaxLogFileSize() {
+    return rocksdbMaxLogFileSize;
+  }
+
+  public void setKeepLogFileNum(int fileNum) {
+    rocksdbKeepLogFileNum = fileNum;
+  }
+
+  public int getKeepLogFileNum() {
+    return rocksdbKeepLogFileNum;
+  }
 }


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

Reply via email to