github-actions[bot] commented on code in PR #40204:
URL: https://github.com/apache/doris/pull/40204#discussion_r1743925386


##########
be/src/cloud/cloud_cumulative_compaction.cpp:
##########
@@ -340,9 +340,125 @@ Status CloudCumulativeCompaction::modify_rowsets() {
                                                     stats.num_rows(), 
stats.data_size());
         }
     }
+    if (_tablet->keys_type() == KeysType::UNIQUE_KEYS &&
+        _tablet->enable_unique_key_merge_on_write()) {
+        process_old_version_delete_bitmap();
+    }
     return Status::OK();
 }
 
+void CloudCumulativeCompaction::process_old_version_delete_bitmap() {

Review Comment:
   warning: function 'process_old_version_delete_bitmap' has cognitive 
complexity of 63 (threshold 50) [readability-function-cognitive-complexity]
   ```cpp
   void CloudCumulativeCompaction::process_old_version_delete_bitmap() {
                                   ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **be/src/cloud/cloud_cumulative_compaction.cpp:361:** +1, including nesting 
penalty of 0, nesting level increased to 1
   ```cpp
       if (!pre_rowsets.empty()) {
       ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:387:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           do {
           ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:388:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               if (!new_delete_bitmap->empty()) {
               ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:392:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   
DBUG_EXECUTE_IF("CloudCumulativeCompaction.modify_rowsets.get_mow_lock_failed", 
{
                   ^
   ```
   **be/src/util/debug_points.h:36:** expanded from macro 'DBUG_EXECUTE_IF'
   ```cpp
       if (UNLIKELY(config::enable_debug_points)) {                             
 \
       ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:392:** +5, including nesting 
penalty of 4, nesting level increased to 5
   ```cpp
                   
DBUG_EXECUTE_IF("CloudCumulativeCompaction.modify_rowsets.get_mow_lock_failed", 
{
                   ^
   ```
   **be/src/util/debug_points.h:38:** expanded from macro 'DBUG_EXECUTE_IF'
   ```cpp
           if (dp) {                                                            
 \
           ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:398:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   if (get_st.ok()) {
                   ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:402:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   if (!get_st.ok()) {
                   ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:411:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   DBUG_EXECUTE_IF(
                   ^
   ```
   **be/src/util/debug_points.h:36:** expanded from macro 'DBUG_EXECUTE_IF'
   ```cpp
       if (UNLIKELY(config::enable_debug_points)) {                             
 \
       ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:411:** +5, including nesting 
penalty of 4, nesting level increased to 5
   ```cpp
                   DBUG_EXECUTE_IF(
                   ^
   ```
   **be/src/util/debug_points.h:38:** expanded from macro 'DBUG_EXECUTE_IF'
   ```cpp
           if (dp) {                                                            
 \
           ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:417:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   if (update_st.ok()) {
                   ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:421:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   if (!update_st.ok()) {
                   ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:428:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   
DBUG_EXECUTE_IF("CloudCumulativeCompaction.modify_rowsets.remove_mow_lock_failed",
 {
                   ^
   ```
   **be/src/util/debug_points.h:36:** expanded from macro 'DBUG_EXECUTE_IF'
   ```cpp
       if (UNLIKELY(config::enable_debug_points)) {                             
 \
       ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:428:** +5, including nesting 
penalty of 4, nesting level increased to 5
   ```cpp
                   
DBUG_EXECUTE_IF("CloudCumulativeCompaction.modify_rowsets.remove_mow_lock_failed",
 {
                   ^
   ```
   **be/src/util/debug_points.h:38:** expanded from macro 'DBUG_EXECUTE_IF'
   ```cpp
           if (dp) {                                                            
 \
           ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:434:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   if (remove_st.ok()) {
                   ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:438:** +4, including nesting 
penalty of 3, nesting level increased to 4
   ```cpp
                   if (!remove_st.ok()) {
                   ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:448:** +2, including nesting 
penalty of 1, nesting level increased to 2
   ```cpp
           if (get_st.ok() && update_st.ok() && remove_st.ok()) {
           ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:448:** +1
   ```cpp
           if (get_st.ok() && update_st.ok() && remove_st.ok()) {
                                             ^
   ```
   **be/src/cloud/cloud_cumulative_compaction.cpp:453:** +3, including nesting 
penalty of 2, nesting level increased to 3
   ```cpp
               for (auto it = new_delete_bitmap->delete_bitmap.begin();
               ^
   ```
   
   </details>
   



##########
be/src/cloud/cloud_cumulative_compaction.cpp:
##########
@@ -340,9 +340,125 @@
                                                     stats.num_rows(), 
stats.data_size());
         }
     }
+    if (_tablet->keys_type() == KeysType::UNIQUE_KEYS &&
+        _tablet->enable_unique_key_merge_on_write()) {
+        process_old_version_delete_bitmap();
+    }
     return Status::OK();
 }
 
+void CloudCumulativeCompaction::process_old_version_delete_bitmap() {

Review Comment:
   warning: function 'process_old_version_delete_bitmap' exceeds recommended 
size/complexity thresholds [readability-function-size]
   ```cpp
   void CloudCumulativeCompaction::process_old_version_delete_bitmap() {
                                   ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **be/src/cloud/cloud_cumulative_compaction.cpp:349:** 110 lines including 
whitespace and comments (threshold 80)
   ```cpp
   void CloudCumulativeCompaction::process_old_version_delete_bitmap() {
                                   ^
   ```
   
   </details>
   



##########
cloud/src/meta-service/meta_service.cpp:
##########
@@ -2080,6 +2080,162 @@ void 
MetaServiceImpl::get_delete_bitmap_update_lock(google::protobuf::RpcControl
     }
 }
 
+void MetaServiceImpl::remove_delete_bitmap(google::protobuf::RpcController* 
controller,
+                                           const RemoveDeleteBitmapRequest* 
request,
+                                           RemoveDeleteBitmapResponse* 
response,
+                                           ::google::protobuf::Closure* done) {
+    RPC_PREPROCESS(remove_delete_bitmap);
+    std::string cloud_unique_id = request->has_cloud_unique_id() ? 
request->cloud_unique_id() : "";
+    if (cloud_unique_id.empty()) {
+        code = MetaServiceCode::INVALID_ARGUMENT;
+        msg = "cloud unique id not set";
+        return;
+    }
+
+    instance_id = get_instance_id(resource_mgr_, cloud_unique_id);
+    if (instance_id.empty()) {
+        code = MetaServiceCode::INVALID_ARGUMENT;
+        msg = "empty instance_id";
+        LOG(WARNING) << msg << ", cloud_unique_id=" << 
request->cloud_unique_id();
+        return;
+    }
+    RPC_RATE_LIMIT(remove_delete_bitmap)
+    // remove delete bitmap of input rowset for MoW table
+    auto tablet_id = request->tablet_id();
+    auto& rowset_ids = request->rowset_ids();
+    auto& begin_versions = request->begin_versions();
+    auto& end_versions = request->end_versions();
+    if (rowset_ids.size() != begin_versions.size() || rowset_ids.size() != 
end_versions.size()) {
+        code = MetaServiceCode::INVALID_ARGUMENT;
+        ss << "rowset and version size not match. "
+           << " rowset_size=" << rowset_ids.size()
+           << " begin_version_size=" << begin_versions.size()
+           << " end_version_size=" << end_versions.size();
+        msg = ss.str();
+        return;
+    }
+    std::unique_ptr<Transaction> txn;
+    TxnErrorCode err = txn_kv_->create_txn(&txn);
+    if (err != TxnErrorCode::TXN_OK) {
+        LOG(WARNING) << "failed to init txn";
+        return;
+    }
+    for (size_t i = 0; i < rowset_ids.size(); i++) {
+        auto delete_bitmap_start = meta_delete_bitmap_key(
+                {instance_id, tablet_id, rowset_ids[i], begin_versions[i], 0});
+        auto delete_bitmap_end = meta_delete_bitmap_key(
+                {instance_id, tablet_id, rowset_ids[i], end_versions[i], 
INT64_MAX});
+        txn->remove(delete_bitmap_start, delete_bitmap_end);
+    }
+    err = txn->commit();
+    if (err != TxnErrorCode::TXN_OK) {
+        code = cast_as<ErrCategory::COMMIT>(err);
+        ss << "failed to commit job kv, err=" << err;
+        msg = ss.str();
+        return;
+    }
+}
+
+void MetaServiceImpl::remove_delete_bitmap_update_lock(

Review Comment:
   warning: function 'remove_delete_bitmap_update_lock' exceeds recommended 
size/complexity thresholds [readability-function-size]
   ```cpp
   void MetaServiceImpl::remove_delete_bitmap_update_lock(
                         ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **cloud/src/meta-service/meta_service.cpp:2138:** 95 lines including 
whitespace and comments (threshold 80)
   ```cpp
   void MetaServiceImpl::remove_delete_bitmap_update_lock(
                         ^
   ```
   
   </details>
   



-- 
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

Reply via email to