This is an automated email from the ASF dual-hosted git repository. trohrmann pushed a commit to branch release-1.13 in repository https://gitbox.apache.org/repos/asf/flink.git
commit a070dfaae6ae063daab168557a66d827aa0aa61d Author: Till Rohrmann <[email protected]> AuthorDate: Fri Apr 23 17:50:15 2021 +0200 [hotfix] Harden against FLINK-21376 by checking for null failure cause In order to harden the AdaptiveScheduler against FLINK-21376, this commit checks whether a task failure cause is null or not. In case of null, it will replace the failure with a generic cause. --- .../org/apache/flink/runtime/scheduler/adaptive/Executing.java | 7 ++++++- .../apache/flink/runtime/scheduler/adaptive/StopWithSavepoint.java | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/Executing.java b/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/Executing.java index 83beda3..6b44c51 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/Executing.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/Executing.java @@ -31,6 +31,7 @@ import org.apache.flink.runtime.executiongraph.TaskExecutionStateTransition; import org.apache.flink.runtime.scheduler.ExecutionGraphHandler; import org.apache.flink.runtime.scheduler.OperatorCoordinatorHandler; import org.apache.flink.runtime.scheduler.stopwithsavepoint.StopWithSavepointTerminationManager; +import org.apache.flink.util.FlinkException; import org.apache.flink.util.Preconditions; import org.slf4j.Logger; @@ -108,7 +109,11 @@ class Executing extends StateWithExecutionGraph implements ResourceConsumer { if (successfulUpdate) { if (taskExecutionState.getExecutionState() == ExecutionState.FAILED) { Throwable cause = taskExecutionState.getError(userCodeClassLoader); - handleAnyFailure(cause); + handleAnyFailure( + cause == null + ? new FlinkException( + "Unknown failure cause. Probably related to FLINK-21376.") + : cause); } } diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/StopWithSavepoint.java b/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/StopWithSavepoint.java index ab4f937..6c8dc4f 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/StopWithSavepoint.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/StopWithSavepoint.java @@ -147,7 +147,11 @@ class StopWithSavepoint extends StateWithExecutionGraph { if (successfulUpdate) { if (taskExecutionStateTransition.getExecutionState() == ExecutionState.FAILED) { Throwable cause = taskExecutionStateTransition.getError(userCodeClassLoader); - handleAnyFailure(cause); + handleAnyFailure( + cause == null + ? new FlinkException( + "Unknown failure cause. Probably related to FLINK-21376.") + : cause); } }
