Also, Stefan - You mentioned
"In the first case, it is a new window without the previous elements, in the second case the window reflects the old contents plus all changes since the last trigger."
I am assuming the first case is FIRE and second case is FIRE_AND_PURGE - I was thinking that in the first case (FIRE), there would be elements from previous window since we did not purge and the second case it would have only new elements since it was purged. Am I missing something ?
Once again, if there are any examples it would greatly help me in understanding the semantics/usage scenarios.
On Friday, November 17, 2017 10:33 AM, M Singh <firstname.lastname@example.org> wrote:
Thanks Stefan and Aljoscha for your responses.
Stefan - When I mentioned "new window" - I meant the next window being created.
Eg: if the event was in w1 based processing time and the trigger returned FIRE - then after the window function is computed, what happens to the events in that window (w1). Are they (elements in w1) propagated to the next processing time window (w2) ? If not, then what is the difference between FIRE and FIRE_AND_PURGE and when do we use FIRE vs FIRE_AND PURGE ? Are there any examples to demonstrated these differences ?
Thanks again for your help.
On Thursday, November 16, 2017 5:16 AM, Aljoscha Krettek <email@example.com> wrote:
Yes, all of this is correct. Sliding windows in fact look like completely separate windows to the windowing system.
I think the effect is pretty straight forward, the elements in a window are not purged if the trigger is only FIRE and not FIRE_AND_PURGE. Unfortunately, your question is a bit unclear about what exactly you mean by „new window“: a truly „new“ window or another triggering of the previous (non-purged) window? In the first case, it is a new window without the previous elements, in the second case the window reflects the old contents plus all changes since the last trigger.
For sliding windows, if I remember correctly, every slide is actually a different window and elements are just added repeatedly to all windows in which they belong. So window n+1 should not be affected by whether or not window n purges or not. Maybe Aljoscha (in CC) can confirm this for us.
Hi Flink Users
I have a few questions about triggers:
If a trigger returns TriggerResult.FIRE from say the onProcessingTime method - the window computation is triggered but elements are kept in the window. If there a second invocation of the onProcessingTime method will the elements from the previous window (which were not purged) a part of the new window computation along with new events added since the last FIRE event ?
Secondly, how does the FIRE option affect the sliding window computation ?
If there are any other insights/pitfalls while dealing with this, please let me know.