You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by kx...@apache.org on 2023/07/21 15:25:43 UTC
[doris] 02/02: [fix](compaction) fix time series compaction point policy (#21670)
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 <cs...@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-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org