From 58c9bd4f307bcf303a9a33e89640bcfae16e903b Mon Sep 17 00:00:00 2001 From: wangbo <506340561@qq.com> Date: Fri, 25 Dec 2020 15:40:52 +0800 Subject: [PATCH] (#5151) An already merged rowset should skip window check --- be/src/olap/cumulative_compaction_policy.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/be/src/olap/cumulative_compaction_policy.cpp b/be/src/olap/cumulative_compaction_policy.cpp index 979938d5adeb1c..c29ab062c4157d 100644 --- a/be/src/olap/cumulative_compaction_policy.cpp +++ b/be/src/olap/cumulative_compaction_policy.cpp @@ -427,8 +427,10 @@ void CumulativeCompactionPolicy::pick_candidate_rowsets( int64_t now = UnixSeconds(); for (auto& it : rs_version_map) { // find all rowset version greater than cumulative_point and skip the create time in skip_window_sec - if (it.first.first >= cumulative_point && - (it.second->creation_time() + skip_window_sec < now)) { + if (it.first.first >= cumulative_point + && ((it.second->creation_time() + skip_window_sec < now) + // this case means a rowset has been compacted before which is not a new published rowset, so it should participate compaction + || (it.first.first != it.first.second))) { candidate_rowsets->push_back(it.second); } }