[ 
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)

Reply via email to