Skip to content

Commit 0012be4

Browse files
committed
[WIP] Expose WAL compression option
Signed-off-by: Bisheng Huang <[email protected]>
1 parent af14652 commit 0012be4

File tree

7 files changed

+32
-6
lines changed

7 files changed

+32
-6
lines changed

.gitmodules

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[submodule "rocksdb"]
22
path = librocksdb_sys/rocksdb
3-
url = https://github.com/v01dstar/rocksdb.git
4-
branch = 8.10-tikv
3+
url = https://github.com/hbisheng/rocksdb.git
4+
branch = fix-pri
55

66
[submodule "titan"]
77
path = librocksdb_sys/libtitan_sys/titan
8-
url = https://github.com/v01dstar/titan.git
9-
branch = upgrade-rocksdb
8+
url = https://github.com/hbisheng/titan.git
9+
branch = fix-pri

librocksdb_sys/crocksdb/c.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5070,6 +5070,14 @@ void crocksdb_options_set_min_level_to_compress(crocksdb_options_t* opt,
50705070
}
50715071
}
50725072

5073+
uint32_t crocksdb_options_get_wal_compression(crocksdb_options_t* opt) {
5074+
return static_cast<uint32_t>(opt->rep.wal_compression);
5075+
}
5076+
5077+
void crocksdb_options_set_wal_compression(crocksdb_options_t* opt, int compression_type) {
5078+
opt->rep.wal_compression = static_cast<CompressionType>(compression_type);
5079+
}
5080+
50735081
size_t crocksdb_livefiles_count(const crocksdb_livefiles_t* lf) {
50745082
return static_cast<int>(lf->rep.size());
50755083
}

librocksdb_sys/crocksdb/crocksdb/c.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,6 +1345,11 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_plain_table_factory(
13451345
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_min_level_to_compress(
13461346
crocksdb_options_t* opt, int level);
13471347

1348+
extern C_ROCKSDB_LIBRARY_API uint32_t crocksdb_options_get_wal_compression(
1349+
crocksdb_options_t* opt);
1350+
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_wal_compression(
1351+
crocksdb_options_t* opt, int compression_type);
1352+
13481353
extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_memtable_huge_page_size(
13491354
crocksdb_options_t*, size_t);
13501355

librocksdb_sys/libtitan_sys/titan

librocksdb_sys/rocksdb

librocksdb_sys/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,11 @@ extern "C" {
847847
zstd_max_train_bytes: c_int,
848848
parallel_threads: c_int,
849849
);
850+
pub fn crocksdb_options_set_wal_compression(
851+
options: *mut Options,
852+
compression_style_no: DBCompressionType,
853+
);
854+
pub fn crocksdb_options_get_wal_compression(options: *mut Options) -> DBCompressionType;
850855
pub fn crocksdb_options_set_bottommost_compression_options(
851856
options: *mut Options,
852857
window_bits: c_int,

src/rocksdb_options.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1650,6 +1650,14 @@ impl ColumnFamilyOptions {
16501650
unsafe { crocksdb_ffi::crocksdb_set_bottommost_compression(self.inner, c) }
16511651
}
16521652

1653+
pub fn wal_compression(&self, c: DBCompressionType) {
1654+
unsafe { crocksdb_ffi::crocksdb_options_set_wal_compression(self.inner, c) }
1655+
}
1656+
1657+
pub fn get_wal_compression(&self) -> DBCompressionType {
1658+
unsafe { crocksdb_ffi::crocksdb_options_get_wal_compression(self.inner) }
1659+
}
1660+
16531661
pub fn add_merge_operator(&mut self, name: &str, merge_fn: MergeFn) {
16541662
let cb = Box::new(MergeOperatorCallback {
16551663
name: CString::new(name.as_bytes()).unwrap(),

0 commit comments

Comments
 (0)