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);
             }
         }
 

Reply via email to