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


##########
be/src/exprs/runtime_filter_slots.h:
##########
@@ -47,11 +47,8 @@ class VRuntimeFilterSlots {
         std::map<int, bool> has_in_filter;
 
         auto ignore_local_filter = [&](int filter_id) {
-            // Now pipeline x have bug in ignore, after fix the problem enable 
ignore logic in pipeline x
-            if (_need_local_merge) {
-                return Status::OK();
-            }
-            auto runtime_filter_mgr = state->local_runtime_filter_mgr();
+            auto runtime_filter_mgr = _need_local_merge ? 
state->global_runtime_filter_mgr()

Review Comment:
   warning: 'auto runtime_filter_mgr' can be declared as 'auto 
*runtime_filter_mgr' [readability-qualified-auto]
   
   ```suggestion
               auto *runtime_filter_mgr = _need_local_merge ? 
state->global_runtime_filter_mgr()
   ```
   



##########
be/src/pipeline/pipeline_x/dependency.cpp:
##########
@@ -146,40 +146,42 @@ void RuntimeFilterTimer::call_has_ready() {
     std::unique_lock<std::mutex> lc(_lock);
     DCHECK(!_call_timeout);
     if (!_call_ready) {
-        _parent->sub_filters();
+        _parent->sub_filters(_filter_id);
     }
 }
 
-void RuntimeFilterTimer::call_has_release() {
-    // When the use count is equal to 1, only the timer queue still holds 
ownership,
-    // so there is no need to take any action.
-}
-
 void RuntimeFilterDependency::add_filters(IRuntimeFilter* runtime_filter) {
+    const auto filter_id = runtime_filter->filter_id();
+    ;
     _filters++;
+    _filter_ready_map[filter_id] = false;
     int64_t registration_time = runtime_filter->registration_time();
     int32 wait_time_ms = runtime_filter->wait_time_ms();
     auto filter_timer = std::make_shared<RuntimeFilterTimer>(
-            registration_time, wait_time_ms,
+            filter_id, registration_time, wait_time_ms,
             
std::dynamic_pointer_cast<RuntimeFilterDependency>(shared_from_this()));
     runtime_filter->set_filter_timer(filter_timer);
     
ExecEnv::GetInstance()->runtime_filter_timer_queue()->push_filter_timer(filter_timer);
 }
 
-void RuntimeFilterDependency::sub_filters() {
-    auto value = _filters.fetch_sub(1);
-    if (value == 1) {
-        _watcher.stop();
-        std::vector<PipelineXTask*> local_block_task {};
-        {
-            std::unique_lock<std::mutex> lc(_task_lock);
-            *_blocked_by_rf = false;
-            local_block_task.swap(_blocked_task);
+void RuntimeFilterDependency::sub_filters(int id) {

Review Comment:
   warning: method 'sub_filters' can be made static 
[readability-convert-member-functions-to-static]
   
   be/src/pipeline/pipeline_x/dependency.h:309:
   ```diff
   -     void sub_filters(int id);
   +     static void sub_filters(int id);
   ```
   



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to