Commit b1198d93 authored by Xinye Tao's avatar Xinye Tao Committed by Connor

Update Titan (#299)

* add titan blob-run-mode

* checkout latest bug fix and titan stats
parent 5adf5b84
...@@ -170,6 +170,7 @@ using rocksdb::titandb::TitanCFOptions; ...@@ -170,6 +170,7 @@ using rocksdb::titandb::TitanCFOptions;
using rocksdb::titandb::TitanDB; using rocksdb::titandb::TitanDB;
using rocksdb::titandb::TitanDBOptions; using rocksdb::titandb::TitanDBOptions;
using rocksdb::titandb::TitanOptions; using rocksdb::titandb::TitanOptions;
using rocksdb::titandb::TitanBlobRunMode;
using std::shared_ptr; using std::shared_ptr;
...@@ -5103,4 +5104,9 @@ void ctitandb_options_set_sample_ratio(ctitandb_options_t* options, ...@@ -5103,4 +5104,9 @@ void ctitandb_options_set_sample_ratio(ctitandb_options_t* options,
options->rep.sample_file_size_ratio = ratio; options->rep.sample_file_size_ratio = ratio;
} }
void ctitandb_options_set_blob_run_mode(ctitandb_options_t* options,
int mode) {
options->rep.blob_run_mode = static_cast<TitanBlobRunMode>(mode);
}
} // end extern "C" } // end extern "C"
Subproject commit c673677c138e2f652b5da332598300762588e4ab Subproject commit ec440e2a17dd41910f92453be3aaa7e9acc644b8
...@@ -272,6 +272,14 @@ pub enum DBRateLimiterMode { ...@@ -272,6 +272,14 @@ pub enum DBRateLimiterMode {
AllIo = 3, AllIo = 3,
} }
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
#[repr(C)]
pub enum DBTitanDBBlobRunMode {
Normal = 0,
ReadOnly = 1,
Fallback = 2,
}
pub fn error_message(ptr: *mut c_char) -> String { pub fn error_message(ptr: *mut c_char) -> String {
let c_str = unsafe { CStr::from_ptr(ptr) }; let c_str = unsafe { CStr::from_ptr(ptr) };
let s = format!("{}", c_str.to_string_lossy()); let s = format!("{}", c_str.to_string_lossy());
...@@ -1849,6 +1857,7 @@ extern "C" { ...@@ -1849,6 +1857,7 @@ extern "C" {
pub fn ctitandb_options_set_discardable_ratio(opts: *mut DBTitanDBOptions, ratio: f64); pub fn ctitandb_options_set_discardable_ratio(opts: *mut DBTitanDBOptions, ratio: f64);
pub fn ctitandb_options_set_sample_ratio(opts: *mut DBTitanDBOptions, ratio: f64); pub fn ctitandb_options_set_sample_ratio(opts: *mut DBTitanDBOptions, ratio: f64);
pub fn ctitandb_options_set_merge_small_file_threshold(opts: *mut DBTitanDBOptions, size: u64); pub fn ctitandb_options_set_merge_small_file_threshold(opts: *mut DBTitanDBOptions, size: u64);
pub fn ctitandb_options_set_blob_run_mode(opts: *mut DBTitanDBOptions, t: DBTitanDBBlobRunMode);
} }
#[cfg(test)] #[cfg(test)]
......
...@@ -28,7 +28,7 @@ pub use librocksdb_sys::{ ...@@ -28,7 +28,7 @@ pub use librocksdb_sys::{
self as crocksdb_ffi, new_bloom_filter, CompactionPriority, CompactionReason, self as crocksdb_ffi, new_bloom_filter, CompactionPriority, CompactionReason,
DBBottommostLevelCompaction, DBCompactionStyle, DBCompressionType, DBEntryType, DBInfoLogLevel, DBBottommostLevelCompaction, DBCompactionStyle, DBCompressionType, DBEntryType, DBInfoLogLevel,
DBRateLimiterMode, DBRecoveryMode, DBStatisticsHistogramType, DBStatisticsTickerType, DBRateLimiterMode, DBRecoveryMode, DBStatisticsHistogramType, DBStatisticsTickerType,
WriteStallCondition, DBTitanDBBlobRunMode, WriteStallCondition,
}; };
pub use merge_operator::MergeOperands; pub use merge_operator::MergeOperands;
pub use metadata::{ColumnFamilyMetaData, LevelMetaData, SstFileMetaData}; pub use metadata::{ColumnFamilyMetaData, LevelMetaData, SstFileMetaData};
......
...@@ -2,7 +2,7 @@ use std::ffi::{CStr, CString}; ...@@ -2,7 +2,7 @@ use std::ffi::{CStr, CString};
use std::ops::Deref; use std::ops::Deref;
use crocksdb_ffi::{self, DBCompressionType, DBTitanBlobIndex, DBTitanDBOptions}; use crocksdb_ffi::{self, DBCompressionType, DBTitanBlobIndex, DBTitanDBOptions};
use librocksdb_sys::ctitandb_encode_blob_index; use librocksdb_sys::{ctitandb_encode_blob_index, DBTitanDBBlobRunMode};
use rocksdb::Cache; use rocksdb::Cache;
use rocksdb_options::LRUCacheOptions; use rocksdb_options::LRUCacheOptions;
use std::ops::DerefMut; use std::ops::DerefMut;
...@@ -117,6 +117,12 @@ impl TitanDBOptions { ...@@ -117,6 +117,12 @@ impl TitanDBOptions {
crocksdb_ffi::ctitandb_options_set_merge_small_file_threshold(self.inner, size); crocksdb_ffi::ctitandb_options_set_merge_small_file_threshold(self.inner, size);
} }
} }
pub fn set_blob_run_mode(&mut self, t: DBTitanDBBlobRunMode) {
unsafe {
crocksdb_ffi::ctitandb_options_set_blob_run_mode(self.inner, t);
}
}
} }
impl Drop for TitanDBOptions { impl Drop for TitanDBOptions {
......
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