From a1a75fcfbdccf4d7c097d4df03ecbed3ea9a3826 Mon Sep 17 00:00:00 2001 From: zhiqiang Date: Sat, 2 Dec 2023 07:40:52 +0800 Subject: [PATCH] [fix](runtime filter) Fix extremely high CPU usage caused by rf merge #27894 --- be/src/runtime/runtime_filter_mgr.cpp | 7 +++---- be/src/runtime/runtime_filter_mgr.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/be/src/runtime/runtime_filter_mgr.cpp b/be/src/runtime/runtime_filter_mgr.cpp index 6ae42ae80a..cedfe8d1a0 100644 --- a/be/src/runtime/runtime_filter_mgr.cpp +++ b/be/src/runtime/runtime_filter_mgr.cpp @@ -40,7 +40,6 @@ #include "runtime/runtime_state.h" #include "runtime/thread_context.h" #include "util/brpc_client_cache.h" -#include "util/spinlock.h" namespace doris { @@ -221,7 +220,7 @@ Status RuntimeFilterMergeControllerEntity::_init_with_desc( // LOG(INFO) << "entity filter id:" << filter_id; static_cast( cntVal->filter->init_with_desc(&cntVal->runtime_filter_desc, query_options, -1, false)); - _filter_map.emplace(filter_id, CntlValwithLock {cntVal, std::make_unique()}); + _filter_map.emplace(filter_id, CntlValwithLock {cntVal, std::make_unique()}); return Status::OK(); } @@ -243,7 +242,7 @@ Status RuntimeFilterMergeControllerEntity::_init_with_desc( auto filter_id = runtime_filter_desc->filter_id; // LOG(INFO) << "entity filter id:" << filter_id; static_cast(cntVal->filter->init_with_desc(&cntVal->runtime_filter_desc, query_options)); - _filter_map.emplace(filter_id, CntlValwithLock {cntVal, std::make_unique()}); + _filter_map.emplace(filter_id, CntlValwithLock {cntVal, std::make_unique()}); return Status::OK(); } @@ -317,7 +316,7 @@ Status RuntimeFilterMergeControllerEntity::merge(const PMergeFilterRequest* requ // iter->second = pair{CntlVal,SpinLock} cntVal = iter->second.first; { - std::lock_guard l(*iter->second.second); + std::lock_guard l(*iter->second.second); MergeRuntimeFilterParams params(request, attach_data); ObjectPool* pool = cntVal->pool.get(); RuntimeFilterWrapperHolder holder; diff --git a/be/src/runtime/runtime_filter_mgr.h b/be/src/runtime/runtime_filter_mgr.h index ff089a7a1f..939ee2c813 100644 --- a/be/src/runtime/runtime_filter_mgr.h +++ b/be/src/runtime/runtime_filter_mgr.h @@ -170,7 +170,7 @@ private: std::shared_mutex _filter_map_mutex; std::shared_ptr _mem_tracker; using CntlValwithLock = - std::pair, std::unique_ptr>; + std::pair, std::unique_ptr>; std::map _filter_map; RuntimeState* _state = nullptr; bool _opt_remote_rf = true;