yanghua commented on a change in pull request #7571: [FLINK-10724] Refactor failure handling in check point coordinator URL: https://github.com/apache/flink/pull/7571#discussion_r276039489
########## File path: flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/PendingCheckpoint.java ########## @@ -101,7 +100,7 @@ private final CheckpointStorageLocation targetLocation; /** The promise to fulfill once the checkpoint has been completed. */ - private final CompletableFuture<CompletedCheckpoint> onCompletionPromise; + private final CompletableFuture<CheckpointExecutionResult> onCompletionPromise; Review comment: @StefanRRichter As the design document mentioned, the `CheckpointExecutionResult ` as a data structure represents the result of checkpoint execution (we split a full checkpoint behavior into two parts: trigger and execute). It will be used in `CheckpointFailureManager` in the next PR(step 2). I know `CompletableFuture` can represent a successful case and an exceptional case. However, in my opinion, use `CheckpointExecutionResult` has two advantage: * stronger constative * take concerted action with `CheckpointTriggerResult` We can just use `onCompletionPromise.complete(new CheckpointExecutionResult(...))` and do not use `onCompletionPromise.completeExceptionally`. It will make the design more clear. What do you think? ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services