This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-1.1-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.1-lts by this push:
new 2db08f9499 [fix](thread) catch exception of std::thread (#13984)
2db08f9499 is described below
commit 2db08f9499ffdd54ca1d09f6ee3a8ad5584da35f
Author: Yongqiang YANG <[email protected]>
AuthorDate: Mon Nov 7 13:36:55 2022 +0800
[fix](thread) catch exception of std::thread (#13984)
* [fix](thread) catch exception of std::thread
Some users encounter core dump due to excpetion of std::thread in
HashJoinNode::open().
* LOG(WARNING) rather than LOG(WARN)
---
be/src/exec/hash_join_node.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/be/src/exec/hash_join_node.cpp b/be/src/exec/hash_join_node.cpp
index 515f7177bb..54fbeadd0d 100644
--- a/be/src/exec/hash_join_node.cpp
+++ b/be/src/exec/hash_join_node.cpp
@@ -236,7 +236,12 @@ Status HashJoinNode::open(RuntimeState* state) {
// main thread
std::promise<Status> thread_status;
add_runtime_exec_option("Hash Table Built Asynchronously");
- std::thread(bind(&HashJoinNode::build_side_thread, this, state,
&thread_status)).detach();
+ try {
+ std::thread(bind(&HashJoinNode::build_side_thread, this, state,
&thread_status)).detach();
+ } catch (const std::system_error& e) {
+ LOG(WARNING) << "create thread fail, " << e.what();
+ return Status::InternalError(e.what());
+ }
if (!_runtime_filter_descs.empty()) {
RuntimeFilterSlots runtime_filter_slots(_probe_expr_ctxs,
_build_expr_ctxs,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]