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]