This is an automated email from the ASF dual-hosted git repository.

pnowojski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new f6e1b493bd6 [hotfix] In case of unexpected errors do not loose the 
primary failure reason
f6e1b493bd6 is described below

commit f6e1b493bd6292a87efd130a0e76af8bd750c1c9
Author: Piotr Nowojski <piotr.nowoj...@gmail.com>
AuthorDate: Tue Mar 12 17:14:13 2024 +0100

    [hotfix] In case of unexpected errors do not loose the primary failure 
reason
    
    Unexpected error can be for example NPE
---
 .../apache/flink/runtime/checkpoint/CheckpointCoordinator.java | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinator.java
 
b/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinator.java
index 25afade0239..c05efb10b48 100644
--- 
a/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinator.java
+++ 
b/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinator.java
@@ -1045,10 +1045,10 @@ public class CheckpointCoordinator {
             @Nullable PendingCheckpoint checkpoint,
             CheckpointProperties checkpointProperties,
             Throwable throwable) {
-        // beautify the stack trace a bit
-        throwable = ExceptionUtils.stripCompletionException(throwable);
-
         try {
+            // beautify the stack trace a bit
+            throwable = ExceptionUtils.stripCompletionException(throwable);
+
             coordinatorsToCheckpoint.forEach(
                     
OperatorCoordinatorCheckpointContext::abortCurrentTriggering);
 
@@ -1064,6 +1064,10 @@ public class CheckpointCoordinator {
                 failureManager.handleCheckpointException(
                         checkpoint, checkpointProperties, cause, null, job, 
null, statsTracker);
             }
+        } catch (Throwable secondThrowable) {
+            secondThrowable.addSuppressed(throwable);
+            throw secondThrowable;
+
         } finally {
             isTriggering = false;
             executeQueuedRequest();

Reply via email to