Add getters to the C API for env, universal compaction options and fifo compaction options (#7501)
Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/7501 Reviewed By: ltamasi Differential Revision: D24344109 Pulled By: pdillinger fbshipit-source-id: d9a2b1b1cc8c8d8a96f13b8ae6814380caa10c96
This commit is contained in:
parent
f4ade82ad2
commit
ed90e2a450
51
db/c.cc
51
db/c.cc
@ -4122,20 +4122,36 @@ void rocksdb_env_set_background_threads(rocksdb_env_t* env, int n) {
|
||||
env->rep->SetBackgroundThreads(n);
|
||||
}
|
||||
|
||||
int rocksdb_env_get_background_threads(rocksdb_env_t* env) {
|
||||
return env->rep->GetBackgroundThreads();
|
||||
}
|
||||
|
||||
void rocksdb_env_set_bottom_priority_background_threads(rocksdb_env_t* env,
|
||||
int n) {
|
||||
env->rep->SetBackgroundThreads(n, Env::BOTTOM);
|
||||
}
|
||||
|
||||
int rocksdb_env_get_bottom_priority_background_threads(rocksdb_env_t* env) {
|
||||
return env->rep->GetBackgroundThreads(Env::BOTTOM);
|
||||
}
|
||||
|
||||
void rocksdb_env_set_high_priority_background_threads(rocksdb_env_t* env, int n) {
|
||||
env->rep->SetBackgroundThreads(n, Env::HIGH);
|
||||
}
|
||||
|
||||
int rocksdb_env_get_high_priority_background_threads(rocksdb_env_t* env) {
|
||||
return env->rep->GetBackgroundThreads(Env::HIGH);
|
||||
}
|
||||
|
||||
void rocksdb_env_set_low_priority_background_threads(rocksdb_env_t* env,
|
||||
int n) {
|
||||
env->rep->SetBackgroundThreads(n, Env::LOW);
|
||||
}
|
||||
|
||||
int rocksdb_env_get_low_priority_background_threads(rocksdb_env_t* env) {
|
||||
return env->rep->GetBackgroundThreads(Env::LOW);
|
||||
}
|
||||
|
||||
void rocksdb_env_join_all_threads(rocksdb_env_t* env) {
|
||||
env->rep->WaitForJoin();
|
||||
}
|
||||
@ -4363,32 +4379,62 @@ void rocksdb_universal_compaction_options_set_size_ratio(
|
||||
uco->rep->size_ratio = ratio;
|
||||
}
|
||||
|
||||
int rocksdb_universal_compaction_options_get_size_ratio(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
return uco->rep->size_ratio;
|
||||
}
|
||||
|
||||
void rocksdb_universal_compaction_options_set_min_merge_width(
|
||||
rocksdb_universal_compaction_options_t* uco, int w) {
|
||||
uco->rep->min_merge_width = w;
|
||||
}
|
||||
|
||||
int rocksdb_universal_compaction_options_get_min_merge_width(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
return uco->rep->min_merge_width;
|
||||
}
|
||||
|
||||
void rocksdb_universal_compaction_options_set_max_merge_width(
|
||||
rocksdb_universal_compaction_options_t* uco, int w) {
|
||||
uco->rep->max_merge_width = w;
|
||||
}
|
||||
|
||||
int rocksdb_universal_compaction_options_get_max_merge_width(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
return uco->rep->max_merge_width;
|
||||
}
|
||||
|
||||
void rocksdb_universal_compaction_options_set_max_size_amplification_percent(
|
||||
rocksdb_universal_compaction_options_t* uco, int p) {
|
||||
uco->rep->max_size_amplification_percent = p;
|
||||
}
|
||||
|
||||
int rocksdb_universal_compaction_options_get_max_size_amplification_percent(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
return uco->rep->max_size_amplification_percent;
|
||||
}
|
||||
|
||||
void rocksdb_universal_compaction_options_set_compression_size_percent(
|
||||
rocksdb_universal_compaction_options_t* uco, int p) {
|
||||
uco->rep->compression_size_percent = p;
|
||||
}
|
||||
|
||||
int rocksdb_universal_compaction_options_get_compression_size_percent(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
return uco->rep->compression_size_percent;
|
||||
}
|
||||
|
||||
void rocksdb_universal_compaction_options_set_stop_style(
|
||||
rocksdb_universal_compaction_options_t* uco, int style) {
|
||||
uco->rep->stop_style =
|
||||
static_cast<ROCKSDB_NAMESPACE::CompactionStopStyle>(style);
|
||||
}
|
||||
|
||||
int rocksdb_universal_compaction_options_get_stop_style(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
return static_cast<int>(uco->rep->stop_style);
|
||||
}
|
||||
|
||||
void rocksdb_universal_compaction_options_destroy(
|
||||
rocksdb_universal_compaction_options_t* uco) {
|
||||
delete uco->rep;
|
||||
@ -4406,6 +4452,11 @@ void rocksdb_fifo_compaction_options_set_max_table_files_size(
|
||||
fifo_opts->rep.max_table_files_size = size;
|
||||
}
|
||||
|
||||
uint64_t rocksdb_fifo_compaction_options_get_max_table_files_size(
|
||||
rocksdb_fifo_compaction_options_t* fifo_opts) {
|
||||
return fifo_opts->rep.max_table_files_size;
|
||||
}
|
||||
|
||||
void rocksdb_fifo_compaction_options_destroy(
|
||||
rocksdb_fifo_compaction_options_t* fifo_opts) {
|
||||
delete fifo_opts;
|
||||
|
69
db/c_test.c
69
db/c_test.c
@ -2355,6 +2355,75 @@ int main(int argc, char** argv) {
|
||||
rocksdb_cache_destroy(co);
|
||||
}
|
||||
|
||||
StartPhase("env");
|
||||
{
|
||||
rocksdb_env_t* e;
|
||||
e = rocksdb_create_default_env();
|
||||
|
||||
rocksdb_env_set_background_threads(e, 10);
|
||||
CheckCondition(10 == rocksdb_env_get_background_threads(e));
|
||||
|
||||
rocksdb_env_set_high_priority_background_threads(e, 20);
|
||||
CheckCondition(20 == rocksdb_env_get_high_priority_background_threads(e));
|
||||
|
||||
rocksdb_env_set_low_priority_background_threads(e, 30);
|
||||
CheckCondition(30 == rocksdb_env_get_low_priority_background_threads(e));
|
||||
|
||||
rocksdb_env_set_bottom_priority_background_threads(e, 40);
|
||||
CheckCondition(40 == rocksdb_env_get_bottom_priority_background_threads(e));
|
||||
|
||||
rocksdb_env_destroy(e);
|
||||
}
|
||||
|
||||
StartPhase("universal_compaction_options");
|
||||
{
|
||||
rocksdb_universal_compaction_options_t* uco;
|
||||
uco = rocksdb_universal_compaction_options_create();
|
||||
|
||||
rocksdb_universal_compaction_options_set_size_ratio(uco, 5);
|
||||
CheckCondition(5 ==
|
||||
rocksdb_universal_compaction_options_get_size_ratio(uco));
|
||||
|
||||
rocksdb_universal_compaction_options_set_min_merge_width(uco, 15);
|
||||
CheckCondition(
|
||||
15 == rocksdb_universal_compaction_options_get_min_merge_width(uco));
|
||||
|
||||
rocksdb_universal_compaction_options_set_max_merge_width(uco, 25);
|
||||
CheckCondition(
|
||||
25 == rocksdb_universal_compaction_options_get_max_merge_width(uco));
|
||||
|
||||
rocksdb_universal_compaction_options_set_max_size_amplification_percent(uco,
|
||||
35);
|
||||
CheckCondition(
|
||||
35 ==
|
||||
rocksdb_universal_compaction_options_get_max_size_amplification_percent(
|
||||
uco));
|
||||
|
||||
rocksdb_universal_compaction_options_set_compression_size_percent(uco, 45);
|
||||
CheckCondition(
|
||||
45 ==
|
||||
rocksdb_universal_compaction_options_get_compression_size_percent(uco));
|
||||
|
||||
rocksdb_universal_compaction_options_set_stop_style(uco, 1);
|
||||
CheckCondition(1 ==
|
||||
rocksdb_universal_compaction_options_get_stop_style(uco));
|
||||
|
||||
rocksdb_universal_compaction_options_destroy(uco);
|
||||
}
|
||||
|
||||
StartPhase("fifo_compaction_options");
|
||||
{
|
||||
rocksdb_fifo_compaction_options_t* fco;
|
||||
fco = rocksdb_fifo_compaction_options_create();
|
||||
|
||||
rocksdb_fifo_compaction_options_set_max_table_files_size(fco, 100000);
|
||||
CheckCondition(
|
||||
100000 ==
|
||||
rocksdb_fifo_compaction_options_get_max_table_files_size(fco));
|
||||
|
||||
rocksdb_fifo_compaction_options_destroy(fco);
|
||||
}
|
||||
|
||||
StartPhase("backupable_db_option");
|
||||
{
|
||||
rocksdb_backupable_db_options_t* bdo;
|
||||
|
@ -1715,12 +1715,20 @@ extern ROCKSDB_LIBRARY_API rocksdb_env_t* rocksdb_create_default_env();
|
||||
extern ROCKSDB_LIBRARY_API rocksdb_env_t* rocksdb_create_mem_env();
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_env_set_background_threads(
|
||||
rocksdb_env_t* env, int n);
|
||||
extern ROCKSDB_LIBRARY_API int rocksdb_env_get_background_threads(
|
||||
rocksdb_env_t* env);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_env_set_high_priority_background_threads(rocksdb_env_t* env, int n);
|
||||
extern ROCKSDB_LIBRARY_API int rocksdb_env_get_high_priority_background_threads(
|
||||
rocksdb_env_t* env);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_env_set_low_priority_background_threads(
|
||||
rocksdb_env_t* env, int n);
|
||||
extern ROCKSDB_LIBRARY_API int rocksdb_env_get_low_priority_background_threads(
|
||||
rocksdb_env_t* env);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_env_set_bottom_priority_background_threads(rocksdb_env_t* env, int n);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_env_get_bottom_priority_background_threads(rocksdb_env_t* env);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_env_join_all_threads(
|
||||
rocksdb_env_t* env);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_env_lower_thread_pool_io_priority(rocksdb_env_t* env);
|
||||
@ -1827,21 +1835,39 @@ rocksdb_universal_compaction_options_create();
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_universal_compaction_options_set_size_ratio(
|
||||
rocksdb_universal_compaction_options_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_universal_compaction_options_get_size_ratio(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_universal_compaction_options_set_min_merge_width(
|
||||
rocksdb_universal_compaction_options_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_universal_compaction_options_get_min_merge_width(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_universal_compaction_options_set_max_merge_width(
|
||||
rocksdb_universal_compaction_options_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_universal_compaction_options_get_max_merge_width(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_universal_compaction_options_set_max_size_amplification_percent(
|
||||
rocksdb_universal_compaction_options_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_universal_compaction_options_get_max_size_amplification_percent(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_universal_compaction_options_set_compression_size_percent(
|
||||
rocksdb_universal_compaction_options_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_universal_compaction_options_get_compression_size_percent(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_universal_compaction_options_set_stop_style(
|
||||
rocksdb_universal_compaction_options_t*, int);
|
||||
extern ROCKSDB_LIBRARY_API int
|
||||
rocksdb_universal_compaction_options_get_stop_style(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_universal_compaction_options_destroy(
|
||||
rocksdb_universal_compaction_options_t*);
|
||||
|
||||
@ -1850,6 +1876,9 @@ rocksdb_fifo_compaction_options_create();
|
||||
extern ROCKSDB_LIBRARY_API void
|
||||
rocksdb_fifo_compaction_options_set_max_table_files_size(
|
||||
rocksdb_fifo_compaction_options_t* fifo_opts, uint64_t size);
|
||||
extern ROCKSDB_LIBRARY_API uint64_t
|
||||
rocksdb_fifo_compaction_options_get_max_table_files_size(
|
||||
rocksdb_fifo_compaction_options_t* fifo_opts);
|
||||
extern ROCKSDB_LIBRARY_API void rocksdb_fifo_compaction_options_destroy(
|
||||
rocksdb_fifo_compaction_options_t* fifo_opts);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user