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

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

Github user aljoscha commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2093#discussion_r66789581
  
    --- Diff: 
flink-streaming-java/src/main/java/org/apache/flink/streaming/api/datastream/WindowedStream.java
 ---
    @@ -121,6 +124,23 @@ public WindowedStream(KeyedStream<T, K> input,
        }
     
        /**
    +    * Sets the allowed lateness. If the {@link WindowAssigner} used
    +    * is in processing time, then the allowed lateness is set to 0.
    +    */
    +   @PublicEvolving
    +   public WindowedStream<T, K, W> setAllowedLateness(Time lateness) {
    +           long millis = lateness.toMilliseconds();
    +           if (allowedLateness < 0) {
    +                   throw new IllegalArgumentException("The allowed 
lateness cannot be negative.");
    +           } else if (allowedLateness != 0 && 
!windowAssigner.isEventTime()) {
    +                   this.allowedLateness = 0;
    --- End diff --
    
    Yeah, but it would throw right when specifying the job. Not when running or 
anything. LOG is also fine, though. 😃 


> 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