You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pegasus.apache.org by zh...@apache.org on 2022/06/28 02:02:31 UTC

[incubator-pegasus] branch master updated: feat: add a config of periodic_compaction_seconds in rocksdb (#817)

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

zhaoliwei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git


The following commit(s) were added to refs/heads/master by this push:
     new 6d4d8b6a3 feat: add a config of periodic_compaction_seconds in rocksdb (#817)
6d4d8b6a3 is described below

commit 6d4d8b6a3debd83cf2b326e2d746ed828e950e27
Author: Zhong Chaoqiang <35...@users.noreply.github.com>
AuthorDate: Tue Jun 28 10:02:26 2022 +0800

    feat: add a config of periodic_compaction_seconds in rocksdb (#817)
---
 src/server/config.ini                   | 2 ++
 src/server/pegasus_server_impl_init.cpp | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/src/server/config.ini b/src/server/config.ini
index 4c7f5e5d8..14efe890a 100644
--- a/src/server/config.ini
+++ b/src/server/config.ini
@@ -343,6 +343,8 @@
   # format_version=5. This provides a smooth path for automatic adoption over time, with an
   # option for early opt-in.
   rocksdb_format_version = 2
+  # default of periodic_compaction_seconds is disabled
+  rocksdb_periodic_compaction_seconds = 0
 
   # 3000, 30MB, 1000, 30s
   rocksdb_multi_get_max_iteration_count = 3000
diff --git a/src/server/pegasus_server_impl_init.cpp b/src/server/pegasus_server_impl_init.cpp
index c1bdc19a8..cf34f04cb 100644
--- a/src/server/pegasus_server_impl_init.cpp
+++ b/src/server/pegasus_server_impl_init.cpp
@@ -586,6 +586,12 @@ pegasus_server_impl::pegasus_server_impl(dsn::replication::replica *r)
     _key_ttl_compaction_filter_factory = std::make_shared<KeyWithTTLCompactionFilterFactory>();
     _data_cf_opts.compaction_filter_factory = _key_ttl_compaction_filter_factory;
 
+    _data_cf_opts.periodic_compaction_seconds =
+        dsn_config_get_value_uint64("pegasus.server",
+                                    "rocksdb_periodic_compaction_seconds",
+                                    0,
+                                    "periodic_compaction_seconds, 0 means no periodic compaction");
+
     // get the checkpoint reserve options.
     _checkpoint_reserve_min_count_in_config = (uint32_t)dsn_config_get_value_uint64(
         "pegasus.server", "checkpoint_reserve_min_count", 2, "checkpoint_reserve_min_count");


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pegasus.apache.org
For additional commands, e-mail: commits-help@pegasus.apache.org