[Enhancement] Modify the method of calculating compaction score (#6252)

* optimize calculation method of compaction score to lower the priority of rowset with 0 segments

Co-authored-by: weizuo <weizuo@xiaomi.com>
This commit is contained in:
weizuo93
2021-08-27 11:10:41 +08:00
committed by GitHub
parent ace21ebf83
commit dedb57f87e

View File

@ -265,15 +265,14 @@ public:
}
// get the compaction score of this rowset.
// if segments are overlapping, the score equals to the number of segments,
// if segments are overlapping or the number of segments is 0, the score equals to the number of segments,
// otherwise, score is 1.
uint32_t get_compaction_score() const {
uint32_t score = 0;
if (!is_segments_overlapping()) {
if ((num_segments() > 0 && !is_segments_overlapping()) || has_delete_predicate()) {
score = 1;
} else {
score = num_segments();
CHECK(score > 0);
}
return score;
}