This is an automated email from the ASF dual-hosted git repository.
vgalaxies pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git
The following commit(s) were added to refs/heads/master by this push:
new 5dfcc3f69 feat: support disable RocksDB auto-compaction by
configuration (#2586)
5dfcc3f69 is described below
commit 5dfcc3f6942f5627b7cb0d200ac319888946eefe
Author: haohao0103 <[email protected]>
AuthorDate: Tue Jul 16 16:40:44 2024 +0800
feat: support disable RocksDB auto-compaction by configuration (#2586)
---
.../java/org/apache/hugegraph/rocksdb/access/RocksDBOptions.java | 7 +++++++
.../java/org/apache/hugegraph/rocksdb/access/RocksDBSession.java | 3 +++
2 files changed, 10 insertions(+)
diff --git
a/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBOptions.java
b/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBOptions.java
index 9d380b335..6f5c35f62 100644
---
a/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBOptions.java
+++
b/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBOptions.java
@@ -120,6 +120,13 @@ public class RocksDBOptions extends OptionHolder {
disallowEmpty(),
"rocksdb-snapshot"
);
+ public static final ConfigOption<Boolean> DISABLE_AUTO_COMPACTION =
+ new ConfigOption<>(
+ "rocksdb.disable_auto_compaction",
+ "Set disable auto compaction.",
+ disallowEmpty(),
+ false
+ );
public static final ConfigConvOption<String, CompactionStyle>
COMPACTION_STYLE =
new ConfigConvOption<>(
"rocksdb.compaction_style",
diff --git
a/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBSession.java
b/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBSession.java
index 70299f8f0..d1f89262a 100644
---
a/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBSession.java
+++
b/hugegraph-store/hg-store-rocksdb/src/main/java/org/apache/hugegraph/rocksdb/access/RocksDBSession.java
@@ -430,6 +430,9 @@ public class RocksDBSession implements AutoCloseable,
Cloneable {
List<byte[]> columnFamilyBytes = RocksDB.listColumnFamilies(new
Options(), dbPath);
ColumnFamilyOptions cfOptions = new ColumnFamilyOptions();
+ if (hugeConfig.get(RocksDBOptions.DISABLE_AUTO_COMPACTION)) {
+ cfOptions.setDisableAutoCompactions(true);
+ }
RocksDBSession.initOptions(this.hugeConfig, null, null, cfOptions,
cfOptions);
if (columnFamilyBytes.size() > 0) {