Skip to content

Commit ae7b23d

Browse files
committed
change: incremental-compact改为progressive-compact
1 parent fd899b6 commit ae7b23d

12 files changed

Lines changed: 149 additions & 155 deletions

File tree

conf/pika.conf

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -677,9 +677,9 @@ wash-data: true
677677

678678
# Pika automatic compact compact strategy, a complement to rocksdb compact.
679679
# Trigger the compact background task periodically according to `compact-interval`
680-
# Can choose `full-compact`, `obd-compact` or `incremental-compact`.
680+
# Can choose `full-compact`, `obd-compact` or `progressive-compact`.
681681
# obd-compact https://github.com/OpenAtomFoundation/pika/issues/2255
682-
# incremental-compact: incremental compact using CompactFiles, processes a small number of oldest SST files each time
682+
# progressive-compact: progressive compact using CompactFiles, processes a small number of oldest SST files each time
683683
compaction-strategy : obd-compact
684684

685685
# For OBD_Compact
@@ -711,19 +711,19 @@ dont-compact-sst-created-in-seconds : 20
711711
best-delete-min-ratio : 10
712712

713713
# ============================================
714-
# For incremental-compact (when compaction-strategy = incremental-compact)
714+
# For progressive-compact (when compaction-strategy = progressive-compact)
715715
# ============================================
716716
# Execution interval in seconds
717-
incremental-compact-interval : 60
717+
progressive-compact-interval : 60
718718

719719
# Maximum number of files to compact per run
720-
incremental-compact-max-files : 1
720+
progressive-compact-max-files : 1
721721

722722
# Maximum execution time per run in milliseconds
723-
incremental-compact-max-time-ms : 1000
723+
progressive-compact-max-time-ms : 1000
724724

725725
# Compression rate threshold (%), continue processing if rate is below this value
726-
incremental-compact-min-rate : 70
726+
progressive-compact-min-rate : 70
727727

728728
# Minimum file age in seconds to be considered for compaction
729-
incremental-compact-min-file-age : 60
729+
progressive-compact-min-file-age : 60

include/pika_conf.h

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class PikaConf : public pstd::BaseConf {
3434
NONE,
3535
FullCompact,
3636
OldestOrBestDeleteRatioSstCompact,
37-
IncrementalCompact
37+
ProgressiveCompact
3838
};
3939
PikaConf(const std::string& path);
4040
~PikaConf() override = default;
@@ -148,25 +148,25 @@ class PikaConf : public pstd::BaseConf {
148148
std::shared_lock l(rwlock_);
149149
return compaction_strategy_;
150150
}
151-
int incremental_compact_interval() {
151+
int progressive_compact_interval() {
152152
std::shared_lock l(rwlock_);
153-
return incremental_compact_interval_;
153+
return progressive_compact_interval_;
154154
}
155-
int incremental_compact_max_files() {
155+
int progressive_compact_max_files() {
156156
std::shared_lock l(rwlock_);
157-
return incremental_compact_max_files_;
157+
return progressive_compact_max_files_;
158158
}
159-
int incremental_compact_max_time_ms() {
159+
int progressive_compact_max_time_ms() {
160160
std::shared_lock l(rwlock_);
161-
return incremental_compact_max_time_ms_;
161+
return progressive_compact_max_time_ms_;
162162
}
163-
int incremental_compact_min_rate() {
163+
int progressive_compact_min_rate() {
164164
std::shared_lock l(rwlock_);
165-
return incremental_compact_min_rate_;
165+
return progressive_compact_min_rate_;
166166
}
167-
int incremental_compact_min_file_age() {
167+
int progressive_compact_min_file_age() {
168168
std::shared_lock l(rwlock_);
169-
return incremental_compact_min_file_age_;
169+
return progressive_compact_min_file_age_;
170170
}
171171
bool disable_auto_compactions() {
172172
std::shared_lock l(rwlock_);
@@ -751,8 +751,8 @@ class PikaConf : public pstd::BaseConf {
751751
compaction_strategy_ = FullCompact;
752752
} else if (value == "obd-compact") {
753753
compaction_strategy_ = OldestOrBestDeleteRatioSstCompact;
754-
} else if (value == "incremental-compact") {
755-
compaction_strategy_ = IncrementalCompact;
754+
} else if (value == "progressive-compact") {
755+
compaction_strategy_ = ProgressiveCompact;
756756
} else {
757757
compaction_strategy_ = NONE;
758758
}
@@ -762,30 +762,30 @@ class PikaConf : public pstd::BaseConf {
762762
TryPushDiffCommands("disable_auto_compactions", value);
763763
disable_auto_compactions_ = value == "true";
764764
}
765-
void SetIncrementalCompactInterval(const int value) {
765+
void SetProgressiveCompactInterval(const int value) {
766766
std::lock_guard l(rwlock_);
767-
TryPushDiffCommands("incremental-compact-interval", std::to_string(value));
768-
incremental_compact_interval_ = value;
767+
TryPushDiffCommands("progressive-compact-interval", std::to_string(value));
768+
progressive_compact_interval_ = value;
769769
}
770-
void SetIncrementalCompactMaxFiles(const int value) {
770+
void SetProgressiveCompactMaxFiles(const int value) {
771771
std::lock_guard l(rwlock_);
772-
TryPushDiffCommands("incremental-compact-max-files", std::to_string(value));
773-
incremental_compact_max_files_ = value;
772+
TryPushDiffCommands("progressive-compact-max-files", std::to_string(value));
773+
progressive_compact_max_files_ = value;
774774
}
775-
void SetIncrementalCompactMaxTimeMs(const int value) {
775+
void SetProgressiveCompactMaxTimeMs(const int value) {
776776
std::lock_guard l(rwlock_);
777-
TryPushDiffCommands("incremental-compact-max-time-ms", std::to_string(value));
778-
incremental_compact_max_time_ms_ = value;
777+
TryPushDiffCommands("progressive-compact-max-time-ms", std::to_string(value));
778+
progressive_compact_max_time_ms_ = value;
779779
}
780-
void SetIncrementalCompactMinRate(const int value) {
780+
void SetProgressiveCompactMinRate(const int value) {
781781
std::lock_guard l(rwlock_);
782-
TryPushDiffCommands("incremental-compact-min-rate", std::to_string(value));
783-
incremental_compact_min_rate_ = value;
782+
TryPushDiffCommands("progressive-compact-min-rate", std::to_string(value));
783+
progressive_compact_min_rate_ = value;
784784
}
785-
void SetIncrementalCompactMinFileAge(const int value) {
785+
void SetProgressiveCompactMinFileAge(const int value) {
786786
std::lock_guard l(rwlock_);
787-
TryPushDiffCommands("incremental-compact-min-file-age", std::to_string(value));
788-
incremental_compact_min_file_age_ = value;
787+
TryPushDiffCommands("progressive-compact-min-file-age", std::to_string(value));
788+
progressive_compact_min_file_age_ = value;
789789
}
790790
void SetMaxSubcompactions(const int& value) {
791791
std::lock_guard l(rwlock_);
@@ -1099,12 +1099,12 @@ class PikaConf : public pstd::BaseConf {
10991099
int best_delete_min_ratio_;
11001100
CompactionStrategy compaction_strategy_;
11011101

1102-
// for incremental-compact
1103-
int incremental_compact_interval_ = 60;
1104-
int incremental_compact_max_files_ = 1;
1105-
int incremental_compact_max_time_ms_ = 1000;
1106-
int incremental_compact_min_rate_ = 70;
1107-
int incremental_compact_min_file_age_ = 60;
1102+
// for progressive-compact
1103+
int progressive_compact_interval_ = 60;
1104+
int progressive_compact_max_files_ = 1;
1105+
int progressive_compact_max_time_ms_ = 1000;
1106+
int progressive_compact_min_rate_ = 70;
1107+
int progressive_compact_min_file_age_ = 60;
11081108

11091109
int64_t resume_check_interval_ = 60; // seconds
11101110
int64_t least_free_disk_to_resume_ = 268435456; // 256 MB

include/pika_db.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ class DB : public std::enable_shared_from_this<DB>, public pstd::noncopyable {
133133
void Compact(const storage::DataType& type);
134134
void CompactRange(const storage::DataType& type, const std::string& start, const std::string& end);
135135
void LongestNotCompactionSstCompact(const storage::DataType& type);
136-
void IncrementalCompact(const storage::DataType& type);
136+
void ProgressiveCompact(const storage::DataType& type);
137137

138138
void SetCompactRangeOptions(const bool is_canceled);
139139

include/pika_server.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ enum TaskType {
6060
kBgSave,
6161
kCompactRangeAll,
6262
kCompactOldestOrBestDeleteRatioSst,
63-
kIncrementalCompact,
63+
kProgressiveCompact,
6464
};
6565

6666
struct TaskArg {
@@ -551,7 +551,7 @@ class PikaServer : public pstd::noncopyable {
551551
*/
552552
bool have_scheduled_crontask_ = false;
553553
struct timeval last_check_compact_time_;
554-
struct timeval last_incremental_compact_time_ = {0, 0};
554+
struct timeval last_progressive_compact_time_ = {0, 0};
555555

556556
/*
557557
* ResumeDB used

src/pika_admin.cc

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2012,30 +2012,30 @@ void ConfigCmd::ConfigGet(std::string& ret) {
20122012
EncodeString(&config_body, "disable_auto_compactions");
20132013
EncodeString(&config_body, g_pika_conf->disable_auto_compactions() ? "true" : "false");
20142014
}
2015-
if (pstd::stringmatch(pattern.data(), "incremental-compact-interval", 1) != 0) {
2015+
if (pstd::stringmatch(pattern.data(), "progressive-compact-interval", 1) != 0) {
20162016
elements += 2;
2017-
EncodeString(&config_body, "incremental-compact-interval");
2018-
EncodeNumber(&config_body, g_pika_conf->incremental_compact_interval());
2017+
EncodeString(&config_body, "progressive-compact-interval");
2018+
EncodeNumber(&config_body, g_pika_conf->progressive_compact_interval());
20192019
}
2020-
if (pstd::stringmatch(pattern.data(), "incremental-compact-max-files", 1) != 0) {
2020+
if (pstd::stringmatch(pattern.data(), "progressive-compact-max-files", 1) != 0) {
20212021
elements += 2;
2022-
EncodeString(&config_body, "incremental-compact-max-files");
2023-
EncodeNumber(&config_body, g_pika_conf->incremental_compact_max_files());
2022+
EncodeString(&config_body, "progressive-compact-max-files");
2023+
EncodeNumber(&config_body, g_pika_conf->progressive_compact_max_files());
20242024
}
2025-
if (pstd::stringmatch(pattern.data(), "incremental-compact-max-time-ms", 1) != 0) {
2025+
if (pstd::stringmatch(pattern.data(), "progressive-compact-max-time-ms", 1) != 0) {
20262026
elements += 2;
2027-
EncodeString(&config_body, "incremental-compact-max-time-ms");
2028-
EncodeNumber(&config_body, g_pika_conf->incremental_compact_max_time_ms());
2027+
EncodeString(&config_body, "progressive-compact-max-time-ms");
2028+
EncodeNumber(&config_body, g_pika_conf->progressive_compact_max_time_ms());
20292029
}
2030-
if (pstd::stringmatch(pattern.data(), "incremental-compact-min-rate", 1) != 0) {
2030+
if (pstd::stringmatch(pattern.data(), "progressive-compact-min-rate", 1) != 0) {
20312031
elements += 2;
2032-
EncodeString(&config_body, "incremental-compact-min-rate");
2033-
EncodeNumber(&config_body, g_pika_conf->incremental_compact_min_rate());
2032+
EncodeString(&config_body, "progressive-compact-min-rate");
2033+
EncodeNumber(&config_body, g_pika_conf->progressive_compact_min_rate());
20342034
}
2035-
if (pstd::stringmatch(pattern.data(), "incremental-compact-min-file-age", 1) != 0) {
2035+
if (pstd::stringmatch(pattern.data(), "progressive-compact-min-file-age", 1) != 0) {
20362036
elements += 2;
2037-
EncodeString(&config_body, "incremental-compact-min-file-age");
2038-
EncodeNumber(&config_body, g_pika_conf->incremental_compact_min_file_age());
2037+
EncodeString(&config_body, "progressive-compact-min-file-age");
2038+
EncodeNumber(&config_body, g_pika_conf->progressive_compact_min_file_age());
20392039
}
20402040
if (pstd::stringmatch(pattern.data(), "compaction-strategy", 1) != 0) {
20412041
elements += 2;
@@ -2048,8 +2048,8 @@ void ConfigCmd::ConfigGet(std::string& ret) {
20482048
case PikaConf::OldestOrBestDeleteRatioSstCompact:
20492049
cs = "obd-compact";
20502050
break;
2051-
case PikaConf::IncrementalCompact:
2052-
cs = "incremental-compact";
2051+
case PikaConf::ProgressiveCompact:
2052+
cs = "progressive-compact";
20532053
break;
20542054
default:
20552055
cs = "none";
@@ -2390,11 +2390,11 @@ void ConfigCmd::ConfigSet(std::shared_ptr<DB> db) {
23902390
"compact-cron",
23912391
"compact-interval",
23922392
"disable_auto_compactions",
2393-
"incremental-compact-interval",
2394-
"incremental-compact-max-files",
2395-
"incremental-compact-max-time-ms",
2396-
"incremental-compact-min-rate",
2397-
"incremental-compact-min-file-age",
2393+
"progressive-compact-interval",
2394+
"progressive-compact-max-files",
2395+
"progressive-compact-max-time-ms",
2396+
"progressive-compact-min-rate",
2397+
"progressive-compact-min-file-age",
23982398
"compaction-strategy",
23992399
"slave-priority",
24002400
"sync-window-size",
@@ -2614,44 +2614,44 @@ void ConfigCmd::ConfigSet(std::shared_ptr<DB> db) {
26142614
}
26152615
g_pika_conf->SetDisableAutoCompaction(value);
26162616
res_.AppendStringRaw("+OK\r\n");
2617-
} else if (set_item == "incremental-compact-interval") {
2617+
} else if (set_item == "progressive-compact-interval") {
26182618
if (pstd::string2int(value.data(), value.size(), &ival) == 0 || ival <= 0) {
2619-
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'incremental-compact-interval'\r\n");
2619+
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'progressive-compact-interval'\r\n");
26202620
return;
26212621
}
2622-
g_pika_conf->SetIncrementalCompactInterval(static_cast<int>(ival));
2622+
g_pika_conf->SetProgressiveCompactInterval(static_cast<int>(ival));
26232623
res_.AppendStringRaw("+OK\r\n");
2624-
} else if (set_item == "incremental-compact-max-files") {
2624+
} else if (set_item == "progressive-compact-max-files") {
26252625
if (pstd::string2int(value.data(), value.size(), &ival) == 0 || ival <= 0) {
2626-
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'incremental-compact-max-files'\r\n");
2626+
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'progressive-compact-max-files'\r\n");
26272627
return;
26282628
}
2629-
g_pika_conf->SetIncrementalCompactMaxFiles(static_cast<int>(ival));
2629+
g_pika_conf->SetProgressiveCompactMaxFiles(static_cast<int>(ival));
26302630
res_.AppendStringRaw("+OK\r\n");
2631-
} else if (set_item == "incremental-compact-max-time-ms") {
2631+
} else if (set_item == "progressive-compact-max-time-ms") {
26322632
if (pstd::string2int(value.data(), value.size(), &ival) == 0 || ival <= 0) {
2633-
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'incremental-compact-max-time-ms'\r\n");
2633+
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'progressive-compact-max-time-ms'\r\n");
26342634
return;
26352635
}
2636-
g_pika_conf->SetIncrementalCompactMaxTimeMs(static_cast<int>(ival));
2636+
g_pika_conf->SetProgressiveCompactMaxTimeMs(static_cast<int>(ival));
26372637
res_.AppendStringRaw("+OK\r\n");
2638-
} else if (set_item == "incremental-compact-min-rate") {
2638+
} else if (set_item == "progressive-compact-min-rate") {
26392639
if (pstd::string2int(value.data(), value.size(), &ival) == 0 || ival <= 0 || ival > 100) {
2640-
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'incremental-compact-min-rate'\r\n");
2640+
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'progressive-compact-min-rate'\r\n");
26412641
return;
26422642
}
2643-
g_pika_conf->SetIncrementalCompactMinRate(static_cast<int>(ival));
2643+
g_pika_conf->SetProgressiveCompactMinRate(static_cast<int>(ival));
26442644
res_.AppendStringRaw("+OK\r\n");
2645-
} else if (set_item == "incremental-compact-min-file-age") {
2645+
} else if (set_item == "progressive-compact-min-file-age") {
26462646
if (pstd::string2int(value.data(), value.size(), &ival) == 0 || ival < 0) {
2647-
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'incremental-compact-min-file-age'\r\n");
2647+
res_.AppendStringRaw("-ERR Invalid argument \'" + value + "\' for CONFIG SET 'progressive-compact-min-file-age'\r\n");
26482648
return;
26492649
}
2650-
g_pika_conf->SetIncrementalCompactMinFileAge(static_cast<int>(ival));
2650+
g_pika_conf->SetProgressiveCompactMinFileAge(static_cast<int>(ival));
26512651
res_.AppendStringRaw("+OK\r\n");
26522652
} else if (set_item == "compaction-strategy") {
26532653
if (value != "full-compact" && value != "obd-compact" &&
2654-
value != "incremental-compact" && value != "none") {
2654+
value != "progressive-compact" && value != "none") {
26552655
res_.AppendStringRaw("-ERR Invalid argument \'" + value +
26562656
"\' for CONFIG SET 'compaction-strategy'\r\n");
26572657
return;

src/pika_conf.cc

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -341,32 +341,32 @@ int PikaConf::Load() {
341341
compaction_strategy_ = FullCompact;
342342
} else if (cs_ == "obd-compact") {
343343
compaction_strategy_ = OldestOrBestDeleteRatioSstCompact;
344-
} else if (cs_ == "incremental-compact") {
345-
compaction_strategy_ = IncrementalCompact;
344+
} else if (cs_ == "progressive-compact") {
345+
compaction_strategy_ = ProgressiveCompact;
346346
} else {
347347
compaction_strategy_ = NONE;
348348
}
349349

350-
// for incremental-compact
351-
GetConfInt("incremental-compact-interval", &incremental_compact_interval_);
352-
if (incremental_compact_interval_ <= 0) {
353-
incremental_compact_interval_ = 60;
350+
// for progressive-compact
351+
GetConfInt("progressive-compact-interval", &progressive_compact_interval_);
352+
if (progressive_compact_interval_ <= 0) {
353+
progressive_compact_interval_ = 60;
354354
}
355-
GetConfInt("incremental-compact-max-files", &incremental_compact_max_files_);
356-
if (incremental_compact_max_files_ <= 0) {
357-
incremental_compact_max_files_ = 1;
355+
GetConfInt("progressive-compact-max-files", &progressive_compact_max_files_);
356+
if (progressive_compact_max_files_ <= 0) {
357+
progressive_compact_max_files_ = 1;
358358
}
359-
GetConfInt("incremental-compact-max-time-ms", &incremental_compact_max_time_ms_);
360-
if (incremental_compact_max_time_ms_ <= 0) {
361-
incremental_compact_max_time_ms_ = 1000;
359+
GetConfInt("progressive-compact-max-time-ms", &progressive_compact_max_time_ms_);
360+
if (progressive_compact_max_time_ms_ <= 0) {
361+
progressive_compact_max_time_ms_ = 1000;
362362
}
363-
GetConfInt("incremental-compact-min-rate", &incremental_compact_min_rate_);
364-
if (incremental_compact_min_rate_ <= 0 || incremental_compact_min_rate_ > 100) {
365-
incremental_compact_min_rate_ = 70;
363+
GetConfInt("progressive-compact-min-rate", &progressive_compact_min_rate_);
364+
if (progressive_compact_min_rate_ <= 0 || progressive_compact_min_rate_ > 100) {
365+
progressive_compact_min_rate_ = 70;
366366
}
367-
GetConfInt("incremental-compact-min-file-age", &incremental_compact_min_file_age_);
368-
if (incremental_compact_min_file_age_ < 0) {
369-
incremental_compact_min_file_age_ = 60;
367+
GetConfInt("progressive-compact-min-file-age", &progressive_compact_min_file_age_);
368+
if (progressive_compact_min_file_age_ < 0) {
369+
progressive_compact_min_file_age_ = 60;
370370
}
371371

372372
// least-free-disk-resume-size
@@ -916,17 +916,17 @@ int PikaConf::ConfigRewrite() {
916916
cs_ = "full-compact";
917917
} else if (compaction_strategy_ == OldestOrBestDeleteRatioSstCompact) {
918918
cs_ = "obd-compact";
919-
} else if (compaction_strategy_ == IncrementalCompact) {
920-
cs_ = "incremental-compact";
919+
} else if (compaction_strategy_ == ProgressiveCompact) {
920+
cs_ = "progressive-compact";
921921
}
922922
SetConfStr("compaction-strategy", cs_);
923923

924-
// for incremental-compact config update
925-
SetConfInt("incremental-compact-interval", incremental_compact_interval_);
926-
SetConfInt("incremental-compact-max-files", incremental_compact_max_files_);
927-
SetConfInt("incremental-compact-max-time-ms", incremental_compact_max_time_ms_);
928-
SetConfInt("incremental-compact-min-rate", incremental_compact_min_rate_);
929-
SetConfInt("incremental-compact-min-file-age", incremental_compact_min_file_age_);
924+
// for progressive-compact config update
925+
SetConfInt("progressive-compact-interval", progressive_compact_interval_);
926+
SetConfInt("progressive-compact-max-files", progressive_compact_max_files_);
927+
SetConfInt("progressive-compact-max-time-ms", progressive_compact_max_time_ms_);
928+
SetConfInt("progressive-compact-min-rate", progressive_compact_min_rate_);
929+
SetConfInt("progressive-compact-min-file-age", progressive_compact_min_file_age_);
930930

931931
SetConfStr("disable_auto_compactions", disable_auto_compactions_ ? "true" : "false");
932932
SetConfStr("cache-type", scachetype);

0 commit comments

Comments
 (0)