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

Reply via email to