Hello there Krzystzof! Thanks a lot for the answer. Sorry for the late reply. I can see the logic behind custom window processing in Flink.
Once, an incoming tuple arrives, you add a timer to it, which is going to tick after "RatingExpiration" time units, as shown in your code. This, is made *for each tuple*. I have the following questions : 1 -- In my case, I do not have timestamps a-priori so I must append a timestamp to the tuples as they arrive at the sources. Here [1] shows how to assign timestamps to my data. Is this the correct way to do it? Also, what type of watermarks is it better to assign? And what notion of time is it more reasonable to use {EventTime, ProcessingTime, IngestionTime}? 2 -- The range of the sliding window equals to "RatingExpiration" if I am correct. But, where is the slide of the sliding window defined? I guess the slide has to do with the query, meaning each *s* time units evaluate the query with the data residing in the range *r* last time units. 3 -- If I get to assign correctly the timestamps from above then it is trivial, based also on your skeleton code, to simulate *time-based* sliding windows. What about the case of *count-based* sliding windows??? Thanks a lot in advance. Best, Max [1] -- https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/event_timestamps_watermarks.html -- Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/