From 08a6052d9878079eb290f5653f656ab44d2d75d3 Mon Sep 17 00:00:00 2001 From: "alan578.zhao" <956322745@qq.com> Date: Mon, 15 Jul 2024 11:05:45 +0800 Subject: [PATCH 1/2] #2583 support disable rocksdb auto compaction through configuration --- .../apache/hugegraph/rocksdb/access/RocksDBOptions.java | 7 +++++++ .../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 9d380b3356..6f5c35f627 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 DISABLE_AUTO_COMPACTION = + new ConfigOption<>( + "rocksdb.disable_auto_compaction", + "Set disable auto compaction.", + disallowEmpty(), + false + ); public static final ConfigConvOption 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 70299f8f09..0002a8c4df 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 @@ private void openRocksDB(String dbDataPath, long version) { List 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) { From e3377df68fe3f044f74eb97847637fd22995d7f4 Mon Sep 17 00:00:00 2001 From: "alan578.zhao" <956322745@qq.com> Date: Tue, 16 Jul 2024 09:50:00 +0800 Subject: [PATCH 2/2] close #2583 --- .../org/apache/hugegraph/rocksdb/access/RocksDBSession.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0002a8c4df..d1f89262a3 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,7 +430,7 @@ private void openRocksDB(String dbDataPath, long version) { List columnFamilyBytes = RocksDB.listColumnFamilies(new Options(), dbPath); ColumnFamilyOptions cfOptions = new ColumnFamilyOptions(); - if(hugeConfig.get(RocksDBOptions.DISABLE_AUTO_COMPACTION)){ + if (hugeConfig.get(RocksDBOptions.DISABLE_AUTO_COMPACTION)) { cfOptions.setDisableAutoCompactions(true); } RocksDBSession.initOptions(this.hugeConfig, null, null, cfOptions, cfOptions);