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( ...@@ -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_table_options_t*
crocksdb_cuckoo_options_create() { crocksdb_cuckoo_options_create() {
......
...@@ -775,6 +775,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_report_bg_io_stats( ...@@ -775,6 +775,8 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_report_bg_io_stats(
crocksdb_options_t*, int); crocksdb_options_t*, int);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_readahead_size( extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_compaction_readahead_size(
crocksdb_options_t*, size_t); crocksdb_options_t*, size_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_max_subcompactions(
crocksdb_options_t*, size_t);
enum { enum {
crocksdb_tolerate_corrupted_tail_records_recovery = 0, crocksdb_tolerate_corrupted_tail_records_recovery = 0,
......
...@@ -257,6 +257,7 @@ extern "C" { ...@@ -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_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_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_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_enable_statistics(options: *mut DBOptions);
pub fn crocksdb_options_statistics_get_string(options: *mut DBOptions) -> *const c_char; pub fn crocksdb_options_statistics_get_string(options: *mut DBOptions) -> *const c_char;
pub fn crocksdb_options_statistics_get_ticker_count(options: *mut DBOptions, pub fn crocksdb_options_statistics_get_ticker_count(options: *mut DBOptions,
......
...@@ -542,6 +542,12 @@ impl Options { ...@@ -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) { pub fn set_disable_auto_compactions(&mut self, disable: bool) {
unsafe { unsafe {
if disable { if disable {
......
...@@ -203,3 +203,12 @@ fn test_pending_compaction_bytes_limit() { ...@@ -203,3 +203,12 @@ fn test_pending_compaction_bytes_limit() {
opts.set_hard_pending_compaction_bytes_limit(256 * 1024 * 1024 * 1024); opts.set_hard_pending_compaction_bytes_limit(256 * 1024 * 1024 * 1024);
let db = DB::open(opts, path.path().to_str().unwrap()).unwrap(); 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