You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by pn...@apache.org on 2024/03/15 14:51:58 UTC
(flink) branch master updated: [hotfix] In case of unexpected errors do not loose the primary failure reason
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 <pi...@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();