HappenLee opened a new pull request, #65019:
URL: https://github.com/apache/doris/pull/65019

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #64934
   
   Problem Summary: Backport #64934 to branch-4.1. Pipeline task execution is 
wrapped by ASSIGN_STATUS_IF_CATCH_EXCEPTION, which converts Doris exceptions to 
Status but lets std::exception-derived exceptions escape the scheduler worker 
thread. When task execution throws an STL exception such as std::out_of_range, 
the worker can terminate the BE process instead of returning a query error. 
This change adds a scheduler-level std::exception fallback around the existing 
Doris exception handling and preserves branch-4.1's pipeline tracer logic, 
converting std::exception failures to InternalError so the existing cancel and 
close path handles the failed task. A unit test covers a task whose execute() 
throws std::out_of_range.
   
   ### Release note
   
   Fix pipeline task execution to return a query error for 
std::exception-derived failures instead of aborting the backend.
   
   ### Check List (For Author)
   
   - Test:
       - Unit Test: ./run-be-ut.sh -j 48 --run 
--filter=PipelineTaskTest.TEST_SCHEDULER_CATCH_STD_EXCEPTION
       - Manual test: PATH=/mnt/disk6/common/ldb_toolchain_toucan/bin:$PATH 
build-support/clang-format.sh
       - Manual test: PATH=/mnt/disk6/common/ldb_toolchain_toucan/bin:$PATH 
build-support/check-format.sh
       - Manual test: git diff --check upstream/branch-4.1..HEAD
   - Behavior changed: Yes. std::exception-derived failures thrown from 
pipeline task execution now become query errors instead of escaping the 
scheduler worker.
   - Does this need documentation: No
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to