diff --git a/src/db_options.rs b/src/db_options.rs index 2c6c1dc..91c014d 100644 --- a/src/db_options.rs +++ b/src/db_options.rs @@ -217,6 +217,22 @@ impl Options { } } + /// Optimize level style compaction. + /// + /// Default values for some parameters in `Options` are not optimized for heavy + /// workloads and big datasets, which means you might observe write stalls under + /// some conditions. + /// + /// This can be used as one of the starting points for tuning RocksDB options in + /// such cases. + /// + /// Internally, it sets `write_buffer_size`, `min_write_buffer_number_to_merge`, + /// `max_write_buffer_number`, `level0_file_num_compaction_trigger`, + /// `target_file_size_base`, `max_bytes_for_level_base`, so it can override if those + /// parameters were set before. + /// + /// It sets buffer sizes so that memory consumption would be constrained by + /// `memtable_memory_budget`. pub fn optimize_level_style_compaction(&mut self, memtable_memory_budget: usize) { unsafe { ffi::rocksdb_options_optimize_level_style_compaction(