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 <98214048+dataroar...@users.noreply.github.com>
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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to