This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new c689b8918a [enhancement](runtimefilter) no need wait for fragment 
because two phase exec fragment (#16418)
c689b8918a is described below

commit c689b8918a6c81196b54352357c504be9fc8de89
Author: yiguolei <[email protected]>
AuthorDate: Sun Feb 5 10:09:31 2023 +0800

    [enhancement](runtimefilter) no need wait for fragment because two phase 
exec fragment (#16418)
    
    call pthread condition wait may block brpc thread.
    no need wait for fragment because two phase exec fragment already guarantee 
that the fragment instance exits when runtime filter comes. So that I remove 
the condition wait code.
    
    Co-authored-by: yiguolei <[email protected]>
---
 be/src/runtime/fragment_mgr.cpp | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/be/src/runtime/fragment_mgr.cpp b/be/src/runtime/fragment_mgr.cpp
index 3ef7199ee4..9c86faa865 100644
--- a/be/src/runtime/fragment_mgr.cpp
+++ b/be/src/runtime/fragment_mgr.cpp
@@ -1063,13 +1063,6 @@ Status FragmentMgr::apply_filter(const 
PPublishFilterRequest* request,
     RuntimeFilterMgr* runtime_filter_mgr = nullptr;
     if (is_pipeline) {
         std::unique_lock<std::mutex> lock(_lock);
-
-        if (!_pipeline_map.count(tfragment_instance_id)) {
-            VLOG_NOTICE << "wait for fragment start execute, fragment-id:" << 
fragment_instance_id;
-            _cv.wait_for(lock, std::chrono::milliseconds(1000),
-                         [&] { return 
_pipeline_map.count(tfragment_instance_id); });
-        }
-
         auto iter = _pipeline_map.find(tfragment_instance_id);
         if (iter == _pipeline_map.end()) {
             VLOG_CRITICAL << "unknown.... fragment-id:" << 
fragment_instance_id;
@@ -1081,12 +1074,6 @@ Status FragmentMgr::apply_filter(const 
PPublishFilterRequest* request,
         runtime_filter_mgr = 
pip_context->get_runtime_state()->runtime_filter_mgr();
     } else {
         std::unique_lock<std::mutex> lock(_lock);
-        if (!_fragment_map.count(tfragment_instance_id)) {
-            VLOG_NOTICE << "wait for fragment start execute, fragment-id:" << 
fragment_instance_id;
-            _cv.wait_for(lock, std::chrono::milliseconds(1000),
-                         [&] { return 
_fragment_map.count(tfragment_instance_id); });
-        }
-
         auto iter = _fragment_map.find(tfragment_instance_id);
         if (iter == _fragment_map.end()) {
             VLOG_CRITICAL << "unknown.... fragment-id:" << 
fragment_instance_id;


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

Reply via email to