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

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

Github user aljoscha commented on the issue:

    https://github.com/apache/flink/pull/6224
  
    No, the motivation was different but the effect of the change is the same, 
I think.
    
    With this change, you can get into a situation where 
`Trigger.onEventTime()` returns `FIRE` and there is actually no window contents 
to fire. I think this can potentially be confusing for users that write custom 
triggers.
    
    I'm not saying that this behaviour is bad, I'm only saying that it changes 
the behaviour, and this can be tricky. This was also the main reason why we 
didn't change it back when I did the PR. If I remember correctly.
    
    What are the cases where this change leads to an improvement? I think it 
rarely happens that a timer fires while a window is empty, so I think we read 
the window state in almost all cases when a timer fires.


> Delay the state fetch only when the triggerResult is fire
> ---------------------------------------------------------
>
>                 Key: FLINK-9687
>                 URL: https://issues.apache.org/jira/browse/FLINK-9687
>             Project: Flink
>          Issue Type: Improvement
>          Components: Streaming
>    Affects Versions: 1.5.0
>            Reporter: aitozi
>            Assignee: aitozi
>            Priority: Major
>              Labels: pull-request-available
>
> When the window operator is fired by the event timer or processing timer, it 
> fetch the state content first. I think it only need to fetch the content from 
> windowState when the triggerResult is Fire. So we have to change the order to 
> avoid this cost ( the cost of fetch content from state is more than judge the 
> triggerResult). 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to