Aljoscha Krettek created FLINK-4994:
---------------------------------------

             Summary: Don't Clear Trigger State and Merging Window Set When 
Purging
                 Key: FLINK-4994
                 URL: https://issues.apache.org/jira/browse/FLINK-4994
             Project: Flink
          Issue Type: Sub-task
          Components: Streaming
            Reporter: Aljoscha Krettek
            Assignee: Aljoscha Krettek


Right now, when a {{Trigger}} returns {{TriggerResult.PURGE}} from any of the  
{{on*()}} methods the {{WindowOperator}} will clear all state of that window 
(window contents, merging window set) and call {{Trigger.clear()}} so that the 
{{Trigger}} can clean up its state/timers.

This is problematic in some cases. For example, with merging windows (session 
windows) this means that a late-arriving element will not be put into the 
session that was previously built up but will be put into a completely new 
session that only contains this one element.

The proposed new behaviour is this:
 * Only clean window contents on {{PURGE}}
 * Register cleanup timer for any window, don't delete this on {{PURGE}}
 * When the cleanup timer fires: clean window state, clean merging window set, 
call {{Trigger.clear()}} to allow it to clean state/timers

Together with FLINK-4415 this would give the trigger the power to purge state 
and window contents separately.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to