[ 
https://issues.apache.org/jira/browse/FLINK-21439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17312898#comment-17312898
 ] 

John Phelan commented on FLINK-21439:
-------------------------------------

hi [~mapohl] [~rmetzger]

It seems like the {{DefaultScheduler}} enqueues most exceptions that reach 
either of its methods:
{{handleGlobalFailure}} or {{updateTaskExecutionState}}

So does it make sense that {{AdaptiveScheduler}} have the same behavior?

What do you think of putting the entries into the {{ExceptionHistory}} using 
the existing {{ExceptionHistoryEntry}} static {{from*}} methods? This would 
mean that the exception history returned by the REST API would not have a 
distinction between different {{ExecutionGraphs}}. Maybe that is adequate for 
now? I could see us choosing to distinguish new {{ExecutionGraphs}} 
(rescalings) in multiple ways - perhaps a red "rescaled" time axis partition 
line in the GUI or alternatively more information in each HistoryEntry.



h1. Test Plan

I have pushed an initial failing test case to 
https://github.com/bytesandwich/flink/commit/1947509da9e8a8ed08805d84668f73a31c6570ad#diff-feebf3ead09172b03a2c89ca60935e48e23ed2c6d3a83f5486517c03790a76c9R677

and it includes a few similar test cases (WIP)

h1. Implementation Plan

# add {{BoundedFIFOQueue}} to {{AdaptiveScheduler}} along with 
{{MAX_EXCEPTION_HISTORY_SIZE}}
# in {{AdaptiveScheduler}}::{{handleGlobalFailure, updateTaskExecutionState}} 
retrieve and enqueue the appropriate entry based off of what's available from 
the current {{state}}
        * ExceptionHistoryEntry.fromGlobalFailure
        * ExceptionHistoryEntry.fromFailedExecution
# implement {{AdaptiveScheduler.getExceptionHistory}} and add this to 
{{AdaptiveScheduler.requestJob}}

Getting the task name
{code:java}
Optional.ofNullable(executionGraph.getRegisteredExecutions().get(TaskExecutionTransition.getID())).map((execution)
 -> {execution.getVertex().getTaskNameWithSubtaskIndex())});
{code}

> 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
>             Fix For: 1.13.0
>
>
> {{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