This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
commit 8853d515ae7ef22a19d1ee200aed8c54a5e95639 Author: zhangstar333 <87313068+zhangstar...@users.noreply.github.com> AuthorDate: Fri Dec 16 19:55:09 2022 +0800 [vectorized](join) add try catch in create thread (#15065) --- be/src/vec/exec/join/vjoin_node_base.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/be/src/vec/exec/join/vjoin_node_base.cpp b/be/src/vec/exec/join/vjoin_node_base.cpp index d5d5280f57..2ebedff219 100644 --- a/be/src/vec/exec/join/vjoin_node_base.cpp +++ b/be/src/vec/exec/join/vjoin_node_base.cpp @@ -159,11 +159,16 @@ Status VJoinNodeBase::open(RuntimeState* state) { RETURN_IF_CANCELLED(state); std::promise<Status> thread_status; - std::thread([this, state, thread_status_p = &thread_status, - parent_span = opentelemetry::trace::Tracer::GetCurrentSpan()] { - OpentelemetryScope scope {parent_span}; - this->_probe_side_open_thread(state, thread_status_p); - }).detach(); + try { + std::thread([this, state, thread_status_p = &thread_status, + parent_span = opentelemetry::trace::Tracer::GetCurrentSpan()] { + OpentelemetryScope scope {parent_span}; + this->_probe_side_open_thread(state, thread_status_p); + }).detach(); + } catch (const std::system_error& e) { + LOG(WARNING) << "In VJoinNodeBase::open create thread fail, " << e.what(); + return Status::InternalError(e.what()); + } // Open the probe-side child so that it may perform any initialisation in parallel. // Don't exit even if we see an error, we still need to wait for the build thread --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org