[
https://issues.apache.org/jira/browse/FLINK-15169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16992602#comment-16992602
]
Zhu Zhu edited comment on FLINK-15169 at 12/10/19 2:30 PM:
-----------------------------------------------------------
If we can have an interface {{ExecutionVertexOperations#fail}} which helps to
notify failures to ExecutionGraph, then the failure will finally come to
{{DefaulScheduler}}, and the version updating will happen as if it is a normal
failure. However, we may need to change {{Execution#processFail}} to enable to
invoke {{maybeReleasePartitionsAndSendCancelRpcCall}} in this case.
Setting the failure cause directly to Execution, as you mentioned, can be an
alternative. However, I think we may also need to set FAILED state timestamp
(used by {{JobExceptionsHandler#createJobExceptionsInfo}} to create error
infos), and ExecutionState (so that in the WebUI it is really exhibited as
FAILED rather than CANCELED)
was (Author: zhuzh):
If we can have an interface {{ExecutionVertexOperations#fail}} which helps to
notify failures to ExecutionGraph, then the failure will finally come to
{{DefaulScheduler}}, and the version updating will happen as if it is a normal
failure. However, we may need to change {{Execution#processFail}} to enable to
invoke {{maybeReleasePartitionsAndSendCancelRpcCall}} in this case.
Set failure cause directly to Execution, as you mentioned, can be an
alternative. However, I think we may also need to set FAILED state timestamp
(used by {{JobExceptionsHandler#createJobExceptionsInfo}} to create error
infos), and ExecutionState (so that in the WebUI it is really exhibited as
FAILED rather than CANCELED)
> Errors happen in the scheduling of DefaultScheduler is not shown in WebUI
> -------------------------------------------------------------------------
>
> Key: FLINK-15169
> URL: https://issues.apache.org/jira/browse/FLINK-15169
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Coordination
> Affects Versions: 1.10.0
> Reporter: Zhu Zhu
> Priority: Blocker
> Fix For: 1.10.0
>
>
> WebUI relies on {{ExecutionGraph#failureInfo}} and {{Execution#failureCause}}
> to generate error info (via
> {{JobExceptionsHandler#createJobExceptionsInfo}}).
> Errors happen in the scheduling of DefaultScheduler are not recorded into
> those fields, thus cannot be shown to users in WebUI (nor via REST queries).
> To solve it,
> 1. global failures should be recorded into {{ExecutionGraph#failureInfo}},
> via {{ExecutionGraph#initFailureCause}} which can be exposed as
> {{SchedulerBase#initFailureCause}}.
> 2. for task failures, one solution I can think of is to avoid invoking
> {{DefaultScheduler#handleTaskFailure}} directly on scheduler's internal
> failures. Instead, we can introduce
> {{ExecutionVertexOperations#fail(ExecutionVertex)}} to hand the error to
> {{ExecutionVertex}} as a common failure.
> cc [~gjy]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)