Hi Dan,

The default implementation in Flink [1] would first process all the timers 
before emit the watermark out,
Thus the watermark should be after the records emitted in processing timers.

Best,
Yun Gao


[1] 
https://github.com/apache/flink/blob/ab08b52030a9612571896c579d85e000134ad0f1/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/AbstractStreamOperator.java#L600



------------------------------------------------------------------
From:Dan Hill <quietgol...@gmail.com>
Send Time:2022 Mar. 18 (Fri.) 13:38
To:user <user@flink.apache.org>
Subject:Clarifying ProcessFunction.onTimer and watermark behavior

Hi.

This Flink page says the following:
“With event-time timers, the onTimer(...) method is called when the current 
watermark is advanced up to or beyond the timestamp of the timer”  

The doc doesn't describe the behavior of the collect(...) in onTimer (related 
to timestamps and watermarks). If the watermark can be later than the 
timestamps, will the watermark propagation be delayed until the previous timers 
have fired?

I'm evaluating corner cases in the operators that might cause watermarks to 
become more recent than record times.

Reply via email to