Github user GJL commented on a diff in the pull request:
https://github.com/apache/flink/pull/5087#discussion_r155207330
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionGraph.java
---
@@ -965,11 +965,20 @@ public void cancel() {
// we build a future that is complete
once all vertices have reached a terminal state
final ConjunctFuture<Void> allTerminal
= FutureUtils.waitForAll(futures);
- allTerminal.thenAccept(
- (Void value) -> {
- // cancellations may
currently be overridden by failures which trigger
- // restarts, so we need
to pass a proper restart global version here
-
allVerticesInTerminalState(globalVersionForRestart);
+ allTerminal.whenCompleteAsync(
--- End diff --
Does it have to run asynchronously? If yes, does it make sense to specify a
thread pool? Now it can run on `ForkJoinPool.commonPool()`.
---