Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
rust-rocksdb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangzongwu
rust-rocksdb
Commits
773015be
Commit
773015be
authored
Mar 30, 2017
by
zhangjinpeng1987
Committed by
siddontang
Mar 30, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
soft/hard pending compaction bytes limit (#18)
parent
38ee726a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
2 deletions
+40
-2
c.cc
librocksdb_sys/crocksdb/c.cc
+8
-0
c.h
librocksdb_sys/crocksdb/rocksdb/c.h
+4
-0
lib.rs
librocksdb_sys/src/lib.rs
+4
-0
rocksdb_options.rs
src/rocksdb_options.rs
+14
-0
test_rocksdb_options.rs
tests/test_rocksdb_options.rs
+10
-2
No files found.
librocksdb_sys/crocksdb/c.cc
View file @
773015be
...
...
@@ -1903,6 +1903,14 @@ void crocksdb_options_set_hard_rate_limit(crocksdb_options_t* opt, double v) {
opt
->
rep
.
hard_rate_limit
=
v
;
}
void
crocksdb_options_set_soft_pending_compaction_bytes_limit
(
crocksdb_options_t
*
opt
,
size_t
v
)
{
opt
->
rep
.
soft_pending_compaction_bytes_limit
=
v
;
}
void
crocksdb_options_set_hard_pending_compaction_bytes_limit
(
crocksdb_options_t
*
opt
,
size_t
v
)
{
opt
->
rep
.
hard_pending_compaction_bytes_limit
=
v
;
}
void
crocksdb_options_set_rate_limit_delay_max_milliseconds
(
crocksdb_options_t
*
opt
,
unsigned
int
v
)
{
opt
->
rep
.
rate_limit_delay_max_milliseconds
=
v
;
...
...
librocksdb_sys/crocksdb/rocksdb/c.h
View file @
773015be
...
...
@@ -679,6 +679,10 @@ extern C_ROCKSDB_LIBRARY_API void crocksdb_options_set_soft_rate_limit(
crocksdb_options_t
*
,
double
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_hard_rate_limit
(
crocksdb_options_t
*
,
double
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_soft_pending_compaction_bytes_limit
(
crocksdb_options_t
*
opt
,
size_t
v
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_hard_pending_compaction_bytes_limit
(
crocksdb_options_t
*
opt
,
size_t
v
);
extern
C_ROCKSDB_LIBRARY_API
void
crocksdb_options_set_rate_limit_delay_max_milliseconds
(
crocksdb_options_t
*
,
unsigned
int
);
...
...
librocksdb_sys/src/lib.rs
View file @
773015be
...
...
@@ -295,6 +295,10 @@ extern "C" {
fairness
:
i32
)
->
*
mut
DBRateLimiter
;
pub
fn
crocksdb_ratelimiter_destroy
(
limiter
:
*
mut
DBRateLimiter
);
pub
fn
crocksdb_options_set_soft_pending_compaction_bytes_limit
(
options
:
*
mut
DBOptions
,
v
:
u64
);
pub
fn
crocksdb_options_set_hard_pending_compaction_bytes_limit
(
options
:
*
mut
DBOptions
,
v
:
u64
);
pub
fn
crocksdb_filterpolicy_create_bloom_full
(
bits_per_key
:
c_int
)
->
*
mut
DBFilterPolicy
;
pub
fn
crocksdb_filterpolicy_create_bloom
(
bits_per_key
:
c_int
)
->
*
mut
DBFilterPolicy
;
pub
fn
crocksdb_open
(
options
:
*
mut
DBOptions
,
...
...
src/rocksdb_options.rs
View file @
773015be
...
...
@@ -473,6 +473,20 @@ impl Options {
}
}
pub
fn
set_soft_pending_compaction_bytes_limit
(
&
mut
self
,
size
:
u64
)
{
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_soft_pending_compaction_bytes_limit
(
self
.inner
,
size
);
}
}
pub
fn
set_hard_pending_compaction_bytes_limit
(
&
mut
self
,
size
:
u64
)
{
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_hard_pending_compaction_bytes_limit
(
self
.inner
,
size
);
}
}
pub
fn
set_max_manifest_file_size
(
&
mut
self
,
size
:
u64
)
{
unsafe
{
crocksdb_ffi
::
crocksdb_options_set_max_manifest_file_size
(
self
.inner
,
size
);
...
...
tests/test_rocksdb_options.rs
View file @
773015be
...
...
@@ -193,4 +193,13 @@ fn test_set_pin_l0_filter_and_index_blocks_in_cache() {
opts
.set_block_based_table_factory
(
&
block_opts
);
let
db
=
DB
::
open
(
opts
,
path
.path
()
.to_str
()
.unwrap
())
.unwrap
();
drop
(
db
);
}
\ No newline at end of file
}
#[test]
fn
test_pending_compaction_bytes_limit
()
{
let
path
=
TempDir
::
new
(
"_rust_rocksdb_pending_compaction_bytes_limit"
)
.expect
(
""
);
let
mut
opts
=
Options
::
new
();
opts
.create_if_missing
(
true
);
opts
.set_soft_pending_compaction_bytes_limit
(
64
*
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
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment