zentol commented on a change in pull request #18689:
URL: https://github.com/apache/flink/pull/18689#discussion_r804537358
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/StateWithExecutionGraph.java
##########
@@ -148,6 +162,33 @@ public Logger getLogger() {
return logger;
}
+ protected Throwable extractError(TaskExecutionStateTransition
taskExecutionStateTransition) {
+ Throwable cause =
taskExecutionStateTransition.getError(userCodeClassLoader);
+ if (cause == null) {
+ cause = new FlinkException("Unknown failure cause. Probably
related to FLINK-21376.");
+ }
+ return cause;
+ }
+
+ protected Optional<ExecutionVertexID> extractExecutionVertexID(
+ TaskExecutionStateTransition taskExecutionStateTransition) {
+ return
executionGraph.getExecutionVertexId(taskExecutionStateTransition.getID());
+ }
+
+ protected static Optional<RootExceptionHistoryEntry> convertFailures(
+ Function<ExecutionVertexID, Optional<ExecutionVertex>> lookup,
+ List<Failure> failureCollection) {
+ if (failureCollection.isEmpty()) {
+ return Optional.empty();
+ }
+ Failure first = failureCollection.remove(0);
+ Set<ExceptionHistoryEntry> entries = new HashSet<>();
+ for (Failure failure : failureCollection) {
+ entries.add(failure.toExceptionHistoryEntry(lookup));
Review comment:
> Do you know if updateTaskExecutionState could be retried by the TM? I
guess we need to have something along these lines to make sure that the EG can
transition to the terminal state.
If the transition isn't confirmed the task fails on the TM, and the system
will eventually reach a consistent state through the execution deployment
reconciliation (failing the job).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]