github-actions[bot] commented on code in PR #33414: URL: https://github.com/apache/doris/pull/33414#discussion_r1556979433
########## be/src/cloud/cloud_cumulative_compaction_policy.cpp: ########## @@ -213,4 +213,143 @@ : last_cumulative_point; } +int32_t CloudTimeSeriesCumulativeCompactionPolicy::pick_input_rowsets( Review Comment: warning: method 'pick_input_rowsets' can be made static [readability-convert-member-functions-to-static] ```suggestion static int32_t CloudTimeSeriesCumulativeCompactionPolicy::pick_input_rowsets( ``` ########## be/src/cloud/cloud_cumulative_compaction_policy.h: ########## @@ -73,4 +92,22 @@ int64_t _promotion_version_count; }; +class CloudTimeSeriesCumulativeCompactionPolicy : public CloudCumulativeCompactionPolicy { +public: + CloudTimeSeriesCumulativeCompactionPolicy() = default; + ~CloudTimeSeriesCumulativeCompactionPolicy() override = default; + + int64_t new_cumulative_point(CloudTablet* tablet, const RowsetSharedPtr& output_rowset, + Version& last_delete_version, + int64_t last_cumulative_point) override; + + int32_t pick_input_rowsets(CloudTablet* tablet, + const std::vector<RowsetSharedPtr>& candidate_rowsets, + const int64_t max_compaction_score, + const int64_t min_compaction_score, Review Comment: warning: parameter 'min_compaction_score' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls] ```suggestion int64_t min_compaction_score, ``` ########## be/src/cloud/cloud_cumulative_compaction_policy.h: ########## @@ -34,7 +34,24 @@ class Tablet; struct Version; -class CloudSizeBasedCumulativeCompactionPolicy { +class CloudCumulativeCompactionPolicy { +public: + virtual ~CloudCumulativeCompactionPolicy() = default; + + virtual int64_t new_cumulative_point(CloudTablet* tablet, const RowsetSharedPtr& output_rowset, + Version& last_delete_version, + int64_t last_cumulative_point) = 0; + + virtual int32_t pick_input_rowsets(CloudTablet* tablet, + const std::vector<RowsetSharedPtr>& candidate_rowsets, + const int64_t max_compaction_score, + const int64_t min_compaction_score, Review Comment: warning: parameter 'min_compaction_score' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls] ```suggestion int64_t min_compaction_score, ``` ########## be/src/cloud/cloud_storage_engine.cpp: ########## @@ -766,4 +770,12 @@ Status CloudStorageEngine::get_compaction_status_json(std::string* result) { return Status::OK(); } +std::shared_ptr<CloudCumulativeCompactionPolicy> CloudStorageEngine::cumu_compaction_policy( Review Comment: warning: method 'cumu_compaction_policy' can be made static [readability-convert-member-functions-to-static] be/src/cloud/cloud_storage_engine.h:108: ```diff - std::shared_ptr<CloudCumulativeCompactionPolicy> cumu_compaction_policy( + static std::shared_ptr<CloudCumulativeCompactionPolicy> cumu_compaction_policy( ``` ########## be/src/cloud/cloud_cumulative_compaction_policy.h: ########## @@ -43,17 +60,19 @@ int64_t compaction_min_size = config::compaction_min_size_mbytes * 1024 * 1024, int64_t promotion_version_count = config::compaction_promotion_version_count); - ~CloudSizeBasedCumulativeCompactionPolicy() {} + ~CloudSizeBasedCumulativeCompactionPolicy() override = default; int64_t new_cumulative_point(CloudTablet* tablet, const RowsetSharedPtr& output_rowset, - Version& last_delete_version, int64_t last_cumulative_point); + Version& last_delete_version, + int64_t last_cumulative_point) override; - int pick_input_rowsets(CloudTablet* tablet, - const std::vector<RowsetSharedPtr>& candidate_rowsets, - const int64_t max_compaction_score, const int64_t min_compaction_score, - std::vector<RowsetSharedPtr>* input_rowsets, - Version* last_delete_version, size_t* compaction_score, - bool allow_delete = false); + int32_t pick_input_rowsets(CloudTablet* tablet, + const std::vector<RowsetSharedPtr>& candidate_rowsets, + const int64_t max_compaction_score, + const int64_t min_compaction_score, Review Comment: warning: parameter 'min_compaction_score' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls] ```suggestion int64_t min_compaction_score, ``` ########## be/src/cloud/cloud_cumulative_compaction_policy.h: ########## @@ -34,7 +34,24 @@ namespace doris { class Tablet; struct Version; -class CloudSizeBasedCumulativeCompactionPolicy { +class CloudCumulativeCompactionPolicy { +public: + virtual ~CloudCumulativeCompactionPolicy() = default; + + virtual int64_t new_cumulative_point(CloudTablet* tablet, const RowsetSharedPtr& output_rowset, + Version& last_delete_version, + int64_t last_cumulative_point) = 0; + + virtual int32_t pick_input_rowsets(CloudTablet* tablet, + const std::vector<RowsetSharedPtr>& candidate_rowsets, + const int64_t max_compaction_score, Review Comment: warning: parameter 'max_compaction_score' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls] ```suggestion int64_t max_compaction_score, ``` ########## be/src/cloud/cloud_cumulative_compaction_policy.cpp: ########## @@ -49,7 +49,7 @@ int64_t CloudSizeBasedCumulativeCompactionPolicy::_level_size(const int64_t size return (int64_t)1 << (sizeof(size) * 8 - 1 - __builtin_clzl(size)); } -int CloudSizeBasedCumulativeCompactionPolicy::pick_input_rowsets( +int32_t CloudSizeBasedCumulativeCompactionPolicy::pick_input_rowsets( Review Comment: warning: function 'pick_input_rowsets' exceeds recommended size/complexity thresholds [readability-function-size] ```cpp int32_t CloudSizeBasedCumulativeCompactionPolicy::pick_input_rowsets( ^ ``` <details> <summary>Additional context</summary> **be/src/cloud/cloud_cumulative_compaction_policy.cpp:51:** 127 lines including whitespace and comments (threshold 80) ```cpp int32_t CloudSizeBasedCumulativeCompactionPolicy::pick_input_rowsets( ^ ``` </details> ########## be/src/cloud/cloud_cumulative_compaction_policy.cpp: ########## @@ -213,4 +213,143 @@ : last_cumulative_point; } +int32_t CloudTimeSeriesCumulativeCompactionPolicy::pick_input_rowsets( Review Comment: warning: function 'pick_input_rowsets' exceeds recommended size/complexity thresholds [readability-function-size] ```cpp int32_t CloudTimeSeriesCumulativeCompactionPolicy::pick_input_rowsets( ^ ``` <details> <summary>Additional context</summary> **be/src/cloud/cloud_cumulative_compaction_policy.cpp:215:** 118 lines including whitespace and comments (threshold 80) ```cpp int32_t CloudTimeSeriesCumulativeCompactionPolicy::pick_input_rowsets( ^ ``` </details> ########## be/src/cloud/cloud_cumulative_compaction_policy.h: ########## @@ -73,4 +92,22 @@ int64_t _promotion_version_count; }; +class CloudTimeSeriesCumulativeCompactionPolicy : public CloudCumulativeCompactionPolicy { +public: + CloudTimeSeriesCumulativeCompactionPolicy() = default; + ~CloudTimeSeriesCumulativeCompactionPolicy() override = default; + + int64_t new_cumulative_point(CloudTablet* tablet, const RowsetSharedPtr& output_rowset, + Version& last_delete_version, + int64_t last_cumulative_point) override; + + int32_t pick_input_rowsets(CloudTablet* tablet, + const std::vector<RowsetSharedPtr>& candidate_rowsets, + const int64_t max_compaction_score, Review Comment: warning: parameter 'max_compaction_score' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls] ```suggestion int64_t max_compaction_score, ``` ########## be/src/cloud/cloud_cumulative_compaction_policy.h: ########## @@ -43,17 +60,19 @@ int64_t compaction_min_size = config::compaction_min_size_mbytes * 1024 * 1024, int64_t promotion_version_count = config::compaction_promotion_version_count); - ~CloudSizeBasedCumulativeCompactionPolicy() {} + ~CloudSizeBasedCumulativeCompactionPolicy() override = default; int64_t new_cumulative_point(CloudTablet* tablet, const RowsetSharedPtr& output_rowset, - Version& last_delete_version, int64_t last_cumulative_point); + Version& last_delete_version, + int64_t last_cumulative_point) override; - int pick_input_rowsets(CloudTablet* tablet, - const std::vector<RowsetSharedPtr>& candidate_rowsets, - const int64_t max_compaction_score, const int64_t min_compaction_score, - std::vector<RowsetSharedPtr>* input_rowsets, - Version* last_delete_version, size_t* compaction_score, - bool allow_delete = false); + int32_t pick_input_rowsets(CloudTablet* tablet, + const std::vector<RowsetSharedPtr>& candidate_rowsets, + const int64_t max_compaction_score, Review Comment: warning: parameter 'max_compaction_score' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls] ```suggestion int64_t max_compaction_score, ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org