Commit 9ccbe9f7 authored by goroutine's avatar goroutine Committed by GitHub

Merge pull request #47 from arthurprs/bytes_per_sync

Add bytes_per_sync and wal_bytes_per_sync options
parents ee4c6ebb 9d759502
......@@ -1497,6 +1497,14 @@ void crocksdb_options_set_max_subcompactions(crocksdb_options_t *opt, size_t v)
opt->rep.max_subcompactions = v;
}
void crocksdb_options_set_wal_bytes_per_sync(crocksdb_options_t *opt, uint64_t v) {
opt->rep.wal_bytes_per_sync = v;
}
void crocksdb_options_set_bytes_per_sync(crocksdb_options_t *opt, uint64_t v) {
opt->rep.bytes_per_sync = v;
}
size_t crocksdb_options_get_block_cache_usage(crocksdb_options_t *opt) {
if (opt && opt->rep.table_factory != nullptr) {
void* table_opt = opt->rep.table_factory->GetOptions();
......
......@@ -783,6 +783,10 @@ 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);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_bytes_per_sync(
crocksdb_options_t*, uint64_t);
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_bytes_per_sync(
crocksdb_options_t*, uint64_t);
enum {
crocksdb_tolerate_corrupted_tail_records_recovery = 0,
......
......@@ -257,6 +257,8 @@ extern "C" {
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_set_wal_bytes_per_sync(options: *mut DBOptions, v: u64);
pub fn crocksdb_options_set_bytes_per_sync(options: *mut DBOptions, v: u64);
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,
......
......@@ -554,6 +554,18 @@ impl Options {
}
}
pub fn set_wal_bytes_per_sync(&mut self, n: u64) {
unsafe {
crocksdb_ffi::crocksdb_options_set_wal_bytes_per_sync(self.inner, n);
}
}
pub fn set_bytes_per_sync(&mut self, n: u64) {
unsafe {
crocksdb_ffi::crocksdb_options_set_bytes_per_sync(self.inner, n);
}
}
pub fn set_disable_auto_compactions(&mut self, disable: bool) {
unsafe {
if disable {
......
......@@ -212,6 +212,16 @@ fn test_set_max_subcompactions() {
DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
#[test]
fn test_set_bytes_per_sync() {
let path = TempDir::new("_rust_rocksdb_bytes_per_sync").expect("");
let mut opts = Options::new();
opts.create_if_missing(true);
opts.set_bytes_per_sync(1024 * 1024);
opts.set_wal_bytes_per_sync(1024 * 1024);
DB::open(opts, path.path().to_str().unwrap()).unwrap();
}
#[test]
fn test_set_optimize_filters_for_hits() {
let path = TempDir::new("_rust_rocksdb_optimize_filters_for_hits").expect("");
......
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