BiteTheDDDDt opened a new pull request, #62190:
URL: https://github.com/apache/doris/pull/62190
This pull request improves the robustness of the pipeline dependency task
wake-up logic by enhancing error handling in the `Dependency::set_ready`
method. The main focus is on ensuring that failures during task wake-up do not
leave tasks stuck, and that any unexpected exceptions are handled gracefully to
prevent potential hangs.
**Error handling and robustness improvements:**
* The `Dependency::set_ready` method is now marked as `noexcept` to indicate
it should not throw exceptions.
[[1]](diffhunk://#diff-35b4c339dbfd76aad6528e7f75ca7cc6804341bd8d8e2a45779e7695c71a9023L65-R65)
[[2]](diffhunk://#diff-76c3907a8cf89f34ce95fe64799c25abee3f4c17676ec7923db3210c5dda0f82L125-R125)
* Added comprehensive try/catch blocks around the logic that wakes up
blocked tasks. This ensures:
- Doris-specific exceptions are handled by checking if the task is
finalized; if not, the associated query is cancelled to prevent hangs.
- Standard exceptions (e.g., `std::bad_alloc`) also trigger query
cancellation and are logged.
- Any other unexpected exceptions are caught to prevent further failures,
with a best-effort approach for recovery.
--
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]