Hi David,

You are right, the events in the window are not sorted according to the
EventTime hence the processing is not done in an increasing order of
timestamp.
As you said, you will have to do the sorting yourself in your window
function to make sure that you are processing the events in order.

What Flink does is (when EventTime is set and timestamp is assigned), it
will assign the elements to the Windows based on the EventTime, which
otherwise (if using ProcessingTime) might have ended up in a different
Window. (as per the ProcessingTime).

This is as per my limited knowledge, other Flink experts can correct me if
this is wrong.

Thanks,
Vishnu

On Wed, Jul 20, 2016 at 9:30 PM, David Desberg <david.desb...@uber.com>
wrote:

> Hi all,
>
> In Flink, after setting the time characteristic to event time and properly
> assigning timestamps/watermarks, time-based windows will be created based
> upon event time. If we need to process events within a window in event time
> order, we can sort the windowed values and process as necessary by applying
> a WindowFunction. However, as I understand it, there is no guarantee that
> time-based windows will be processed in time order. Is this correct? Or, if
> we assume a watermarking system that (for example's sake) does not allow
> any late events, is there a way within Flink to guarantee that windows will
> be processed (via an applied WindowFunction) in strictly increasing time
> order?
>
> If necessary, I can provide a more concrete explanation of what I mean/am
> looking for.
>
> Thanks!
> David

Reply via email to