This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit a1b4338ecb6ce94211115388829c18bfd80b1496 Author: Chenyang Sun <csun5...@gmail.com> AuthorDate: Fri Jul 21 23:09:02 2023 +0800 [fix](compaction) fix time series compaction point policy (#21670) --- be/src/olap/cumulative_compaction_time_series_policy.cpp | 8 +++----- .../cumulative_compaction_time_series_policy_test.cpp | 16 ++++++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/be/src/olap/cumulative_compaction_time_series_policy.cpp b/be/src/olap/cumulative_compaction_time_series_policy.cpp index b5a7a280a4..7734ba7fc4 100644 --- a/be/src/olap/cumulative_compaction_time_series_policy.cpp +++ b/be/src/olap/cumulative_compaction_time_series_policy.cpp @@ -135,11 +135,9 @@ void TimeSeriesCumulativeCompactionPolicy::calculate_cumulative_point( break; } - // check the rowset is whether less than _compaction_goal_size - // The result of compaction may be slightly smaller than the _compaction_goal_size. - if (!is_delete && rs->version().first != 0 && - rs->total_disk_size() < - (config::time_series_compaction_goal_size_mbytes * 1024 * 1024 * 0.8)) { + // check if the rowset has already been compacted + // [2-11] : rowset has been compacted + if (!is_delete && rs->version().first == rs->version().second) { *ret_cumulative_point = rs->version().first; break; } diff --git a/be/test/olap/cumulative_compaction_time_series_policy_test.cpp b/be/test/olap/cumulative_compaction_time_series_policy_test.cpp index bd6d0fdeb6..74bcbe70ac 100644 --- a/be/test/olap/cumulative_compaction_time_series_policy_test.cpp +++ b/be/test/olap/cumulative_compaction_time_series_policy_test.cpp @@ -305,7 +305,7 @@ TEST_F(TestTimeSeriesCumulativeCompactionPolicy, calculate_cumulative_point_over _tablet->init(); _tablet->calculate_cumulative_point(); - EXPECT_EQ(2, _tablet->cumulative_layer_point()); + EXPECT_EQ(4, _tablet->cumulative_layer_point()); } TEST_F(TestTimeSeriesCumulativeCompactionPolicy, calculate_cumulative_point_big_rowset) { @@ -375,7 +375,7 @@ TEST_F(TestTimeSeriesCumulativeCompactionPolicy, pick_candidate_rowsets) { _tablet->calculate_cumulative_point(); auto candidate_rowsets = _tablet->pick_candidate_rowsets_to_cumulative_compaction(); - EXPECT_EQ(4, candidate_rowsets.size()); + EXPECT_EQ(5, candidate_rowsets.size()); } TEST_F(TestTimeSeriesCumulativeCompactionPolicy, pick_candidate_rowsets_big_rowset) { @@ -442,8 +442,8 @@ TEST_F(TestTimeSeriesCumulativeCompactionPolicy, pick_input_rowsets_file_count) _tablet.get(), candidate_rowsets, 10, 5, &input_rowsets, &last_delete_version, &compaction_score); - EXPECT_EQ(4, input_rowsets.size()); - EXPECT_EQ(10, compaction_score); + EXPECT_EQ(0, input_rowsets.size()); + EXPECT_EQ(0, compaction_score); EXPECT_EQ(-1, last_delete_version.first); EXPECT_EQ(-1, last_delete_version.second); } @@ -471,8 +471,8 @@ TEST_F(TestTimeSeriesCumulativeCompactionPolicy, pick_input_rowsets_time_interva _tablet.get(), candidate_rowsets, 10, 5, &input_rowsets, &last_delete_version, &compaction_score); - EXPECT_EQ(4, input_rowsets.size()); - EXPECT_EQ(4, compaction_score); + EXPECT_EQ(3, input_rowsets.size()); + EXPECT_EQ(3, compaction_score); EXPECT_EQ(-1, last_delete_version.first); EXPECT_EQ(-1, last_delete_version.second); } @@ -528,8 +528,8 @@ TEST_F(TestTimeSeriesCumulativeCompactionPolicy, pick_input_rowsets_delete) { _tablet.get(), candidate_rowsets, 10, 5, &input_rowsets, &last_delete_version, &compaction_score); - EXPECT_EQ(2, input_rowsets.size()); - EXPECT_EQ(4, compaction_score); + EXPECT_EQ(1, input_rowsets.size()); + EXPECT_EQ(3, compaction_score); EXPECT_EQ(5, last_delete_version.first); EXPECT_EQ(5, last_delete_version.second); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org