[ 
https://issues.apache.org/jira/browse/FLINK-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15327400#comment-15327400
 ] 

ASF GitHub Bot commented on FLINK-3714:
---------------------------------------

Github user aljoscha commented on the issue:

    https://github.com/apache/flink/pull/2093
  
    I had some inline comments.
    
    One other thing I would like to see changed is moving the logic that checks 
whether to do cleanup from `cleanup()` to the call-site. So in 
`processElement()` it would be:
    ```
    if (combinedTriggerResult.isPurge) {
      cleanup(...);
    } else {
      registerCleanupTimer(...);
    }
    ```
    The reason for this is that the check in `cleanup()` for whether a timer is 
a cleanup timer does not take into account the event-time/processing-time 
split: if a processing-time timer fires on exactly the cleanup time of an 
event-time window this would also trigger cleanup.  The code in 
`processTriggersFor` (which, by the way can be moved back into 
`processWatermark()` now that you refactored this special event-time trigger 
hack) would have this check:
    ```
    if (assigner.isEventTime() && isCleanupTimer(...))
    ```
    while the code in `trigger()` would be
    ```
    if (!assigner.isEventTime() && isCleanupTimer(...))
    ```



> Add Support for "Allowed Lateness"
> ----------------------------------
>
>                 Key: FLINK-3714
>                 URL: https://issues.apache.org/jira/browse/FLINK-3714
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Streaming
>            Reporter: Aljoscha Krettek
>            Assignee: Kostas Kloudas
>
> As mentioned in 
> https://docs.google.com/document/d/1Xp-YBf87vLTduYSivgqWVEMjYUmkA-hyb4muX3KRl08/edit#
>  we should add support for an allowed lateness setting.
> This includes several things:
>  - API for setting allowed lateness
>  - Dropping of late elements 
>  - Garbage collection of windows state/timers
> Depending on whether the {{WindowAssigner}} assigns windows based on event 
> time or processing time we have to adjust the GC behavior. For event-time 
> windows "allowed lateness" makes sense and we should garbage collect after 
> this expires. For processing-time windows "allowed lateness" does not make 
> sense and we should always GC window state/timers at the end timestamp of a 
> processing-time window. I think that we need a method for this on 
> {{WindowAssigner}} that allows to differentiate between event-time windows 
> and processing-time windows: {{boolean WindowAssigner.isEventTime()}}.



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

Reply via email to