This is an automated email from the ASF dual-hosted git repository. wenjun pushed a commit to branch dev_wenjun_coronationTask in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
commit 7e7b05185269b27867535824b16e2ea0f9ab5ea5 Author: Wenjun Ruan <[email protected]> AuthorDate: Wed Oct 26 11:33:59 2022 +0800 Catch exception when insert alert failed (#179) --- .../master/runner/WorkflowExecuteRunnable.java | 23 +++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java index e102238178..24d5d31451 100644 --- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java +++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java @@ -359,13 +359,21 @@ public class WorkflowExecuteRunnable implements Callable<WorkflowSubmitStatue> { } public void processTimeout() { - ProjectUser projectUser = processService.queryProjectWithUserByProcessInstanceId(processInstance.getId()); - this.processAlertManager.sendProcessTimeoutAlert(this.processInstance, projectUser); + try { + ProjectUser projectUser = processService.queryProjectWithUserByProcessInstanceId(processInstance.getId()); + this.processAlertManager.sendProcessTimeoutAlert(this.processInstance, projectUser); + } catch (Exception ex) { + logger.error("Send workflow instance timeout alert error", ex); + } } public void taskTimeout(TaskInstance taskInstance) { - ProjectUser projectUser = processService.queryProjectWithUserByProcessInstanceId(processInstance.getId()); - processAlertManager.sendTaskTimeoutAlert(processInstance, taskInstance, projectUser); + try { + ProjectUser projectUser = processService.queryProjectWithUserByProcessInstanceId(processInstance.getId()); + processAlertManager.sendTaskTimeoutAlert(processInstance, taskInstance, projectUser); + } catch (Exception ex) { + logger.error("Send task instance timeout alert error", ex); + } } public void taskFinished(TaskInstance taskInstance) throws StateEventHandleException { @@ -802,7 +810,12 @@ public class WorkflowExecuteRunnable implements Callable<WorkflowSubmitStatue> { } ProjectUser projectUser = processService.queryProjectWithUserByProcessInstanceId(processInstance.getId()); if (processAlertManager.isNeedToSendWarning(processInstance)) { - processAlertManager.sendAlertProcessInstance(processInstance, getValidTaskList(), projectUser); + try { + processAlertManager.sendAlertProcessInstance(processInstance, getValidTaskList(), projectUser); + } catch (Exception ex) { + // the trace id has been set on upstream + logger.error("Send workflow instance alert failed"); + } } if (processInstance.getState().typeIsSuccess()) { processAlertManager.closeAlert(processInstance);
