[
https://issues.apache.org/jira/browse/FLINK-21439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17351718#comment-17351718
]
Matthias commented on FLINK-21439:
----------------------------------
{quote}
FailureHandlingResult is a convenient place because it has all the information?
It is not convenient for AdaptiveScheduler. It seems that implementing error
handling for AdaptiveScheduler needs to either introduce a
FailureHandlingResult prematurely or duplicate a lot of code that does
introspection of execution graphs etc.
{quote}
I'm not sure whether I understand you concern here. Why do you think that
{{FailureHandlingResult}} is not convenient for {{AdaptiveScheduler}}? The
{{ExecutionAttemptID}} is provided by {{TaskExecutionStateTransition}} which is
passed in through the {{StateWithExecutionGraph.updateTaskExecutionState}}.
Right now, {{Executing.FailureResult}} is used as a container for the failure
information which is created in {{AdaptiveScheduler.howToHandleFailure}}
similar to how this kind of failure handling container is instantiated in
{{DefaultScheduler.handleTaskFailure}}. The {{AdaptiveScheduler}} does not
collect the task information right now. But that's something we need to change
for the exception history to work with task failures in any case.
Where I still see some difference between {{FailureHandlingResult}} and
{{Executing.FailureResult}} is that the former one collects the information
about what {{ExecutionVertex}} instances to restart as part of this failure
handling. This is not necessary in the {{AdaptiveScheduler}} (for now) since
we're restarting all the {{ExecutionVertices}} of the current
{{ExecutionGraph}} in case of failure.
Where do you see "copying a lot of code" becoming necessary?
Looking forward to your concern.
> Adaptive Scheduler: Add support for exception history
> -----------------------------------------------------
>
> Key: FLINK-21439
> URL: https://issues.apache.org/jira/browse/FLINK-21439
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Coordination
> Affects Versions: 1.13.0
> Reporter: Matthias
> Assignee: John Phelan
> Priority: Major
> Labels: pull-request-available, reactive
> Time Spent: 3h
> Remaining Estimate: 0h
>
> {{SchedulerNG.requestJob}} returns an {{ExecutionGraphInfo}} that was
> introduced in FLINK-21188. This {{ExecutionGraphInfo}} holds the information
> about the {{ArchivedExecutionGraph}} and exception history information.
> Currently, it's a list of {{ErrorInfos}}. This might change due to ongoing
> work in FLINK-21190 where we might introduced a wrapper class with more
> information on the failure.
> The goal of this ticket is to implement the exception history for the
> {{AdaptiveScheduler}}, i.e. collecting the exceptions that caused restarts.
> This collection of failures should be forwarded through
> {{SchedulerNG.requestJob}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)