Commit 7a3c8891 authored by zhangjinpeng1987's avatar zhangjinpeng1987 Committed by siddontang

max subcompactions (#36)

parent 773015be
......@@ -1489,6 +1489,9 @@ void crocksdb_options_set_block_based_table_factory(
}
}
void crocksdb_options_set_max_subcompactions(crocksdb_options_t *opt, size_t v) {
opt->rep.max_subcompactions = v;
}
crocksdb_cuckoo_table_options_t*
crocksdb_cuckoo_options_create() {
......
......@@ -775,6 +775,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_report_bg_io_stats(
crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_readahead_size(
crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_subcompactions(
crocksdb_options_t*, size_t);
enum {
crocksdb_tolerate_corrupted_tail_records_recovery = 0,
......
......@@ -257,6 +257,7 @@ extern "C" {
pub fn crocksdb_options_set_report_bg_io_stats(options: *mut DBOptions, v: c_int);
pub fn crocksdb_options_set_compaction_readahead_size(options: *mut DBOptions, v: size_t);
pub fn crocksdb_options_set_wal_recovery_mode(options: *mut DBOptions, mode: DBRecoveryMode);
pub fn crocksdb_options_set_max_subcompactions(options: *mut DBOptions, v: size_t);
pub fn crocksdb_options_enable_statistics(options: *mut DBOptions);
pub fn crocksdb_options_statistics_get_string(options: *mut DBOptions) -> *const c_char;
pub fn crocksdb_options_statistics_get_ticker_count(options: *mut DBOptions,
......
......@@ -542,6 +542,12 @@ impl Options {
}
}
pub fn set_max_subcompactions(&mut self, n: usize) {
unsafe {
crocksdb_ffi::crocksdb_options_set_max_subcompactions(self.inner, n);
}
}
pub fn set_disable_auto_compactions(&mut self, disable: bool) {
unsafe {
if disable {
......
......@@ -203,3 +203,12 @@ fn test_pending_compaction_bytes_limit() {
opts.set_hard_pending_compaction_bytes_limit(256 * 1024 * 1024 * 1024);
let db = DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
#[test]
fn test_set_max_subcompactions() {
let path = TempDir::new("_rust_rocksdb_max_subcompactions").expect("");
let mut opts = Options::new();
opts.create_if_missing(true);
opts.set_max_subcompactions(4);
DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment