mxm commented on a change in pull request #13105:
URL: https://github.com/apache/beam/pull/13105#discussion_r521252916



##########
File path: 
runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
##########
@@ -502,6 +690,8 @@ public void close() throws Exception {
     processWatermark1(Watermark.MAX_WATERMARK);
     while (getCurrentOutputWatermark() < 
Watermark.MAX_WATERMARK.getTimestamp()) {
       invokeFinishBundle();
+      // Sleep for 5s to wait for any timer to be fired.
+      Thread.sleep(5000);

Review comment:
       What you describe happens when you enable checkpointing or when you pass 
in `--shutdownSourcesAfterIdleMs`. The operator doesn't shutdown then and 
continues to process timers. The reason we do not enable this by default is 
that we want to cleanly shutdown pipelines during tests. Once an operator has 
been shut down, the entire job cannot be checkpointed anymore.
   
   The new workaround looks good to me. We do the same in the 
`super.close()`method.




----------------------------------------------------------------
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:
[email protected]


Reply via email to