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]