Hi Radu,

event-time processing requires watermarks. Operators use watermarks to
compute the current event-time.
The ProcessFunctions for over range windows use the TimerServices to group
elements by time.
In case of event-time, the timers are triggered by the event-time of the
operator which is derived from the received watermarks.
In case of processing-time, the timers are triggered based on the wallclock
time of the operator.

So by using event-tim timers, we implicitly rely on the watermarks because
the timers are triggered based on the received watermarks.

Best, Fabian


2017-04-27 10:51 GMT+02:00 Radu Tudoran <radu.tudo...@huawei.com>:

> Hi,
>
> I am looking at the implementation of  RowTimeBoundedRangeOver (in the
> context of Stream SQL). I see that the logic is that the progress happens
> based on the timestamps of the rowevent - i.e., when an even arrives we
> register to be processed based on it's timestamp (ctx.timerService.
> registerEventTimeTimer(triggeringTs))
>
> In the onTimer we remove (retract) data that has expired. However, we do
> not consider watermarks nor some allowed latency for the events or anything
> like this, which makes me ask:
> Don't we need to work with watermarks when we deal with even time? And
> keep the events within the allowed delayed/next watermark?  Am I missing
> something? Or maybe we do not consider at this point allowedLateness  for
> this version?
>
> Thanks
>
> Best regards,
>
>

Reply via email to