dawidwys commented on a change in pull request #16589:
URL: https://github.com/apache/flink/pull/16589#discussion_r681209186



##########
File path: 
flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/MultipleInputStreamTask.java
##########
@@ -195,6 +195,22 @@ protected void createInputProcessor(
         // EndOfPartitionEvent, we would not complement barriers for the
         // unfinished network inputs, and the checkpoint would be triggered
         // after received all the EndOfPartitionEvent.
+        if (options.getCheckpointType().shouldDrain()) {
+            CompletableFuture<Void> sourcesStopped =
+                    FutureUtils.waitForAll(
+                            operatorChain.getSourceTaskInputs().stream()
+                                    .map(s -> s.getOperator().stop())
+                                    .collect(Collectors.toList()));
+
+            return sourcesStopped.thenCompose(
+                    ignore -> triggerSourcesCheckpointInMailbox(metadata, 
options));

Review comment:
       Sorry, if I am asking dumb question...
   
   After looking at it again, I am not sure if we need to do anything about it. 
The future from `sourceOperator#stop()` never completes exceptionally. It can 
only ever complete successfully if the `END_OF_DATA` was emitted. At the same 
time the `StreamTask#triggerCheckpointAsync` submits a mailbox action as the 
very first thing.
   
   Do we still need any additional handling there?




-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to