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 235ae9ded49 [improvement](fragment) optimize to get query context logic (#25621) 235ae9ded49 is described below commit 235ae9ded49fabe44d8ef66005a106ee319710d8 Author: HHoflittlefish777 <77738092+hhoflittlefish...@users.noreply.github.com> AuthorDate: Wed Oct 25 14:03:47 2023 +0800 [improvement](fragment) optimize to get query context logic (#25621) --- be/src/runtime/fragment_mgr.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/be/src/runtime/fragment_mgr.cpp b/be/src/runtime/fragment_mgr.cpp index 2e413c6a443..1fb68049e6e 100644 --- a/be/src/runtime/fragment_mgr.cpp +++ b/be/src/runtime/fragment_mgr.cpp @@ -584,6 +584,17 @@ Status FragmentMgr::_get_query_ctx(const Params& params, TUniqueId query_id, boo } query_ctx = search->second; } else { + { + // Find _query_ctx_map, in case some other request has already + // create the query fragments context. + std::lock_guard<std::mutex> lock(_lock); + auto search = _query_ctx_map.find(query_id); + if (search != _query_ctx_map.end()) { + query_ctx = search->second; + return Status::OK(); + } + } + // This may be a first fragment request of the query. // Create the query fragments context. query_ctx = QueryContext::create_shared(query_id, params.fragment_num_on_host, _exec_env, --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org