Hi,

If you set an allowed lateness that is greater than zero you will get another 
call to onEventTime() on window.maxTimestamp + allowedLateness.

Does that help answer your question?

Best,
Aljoscha

> On 23. Jul 2018, at 15:40, Dongwon Kim <[email protected]> wrote:
> 
> Hi all,
> 
> I want to be sure about when EventTimeTrigger.onEventTime() method is called 
> with event-time session windows.
> It returns TriggerResult.FIRE only when the timestamp of the registered timer 
> equals to the max timestamp of the current window:
> 
>       @Override
>       public TriggerResult onEventTime(long time, TimeWindow window, 
> TriggerContext ctx) {
>               return time == window.maxTimestamp() ?
>                       TriggerResult.FIRE :
>                       TriggerResult.CONTINUE;
>       }
> 
> As far as I understand, when EventTimeTrigger is used with event-time session 
> window, there's no chance of EventTimeTrigger.onEventTime being called with 
> time != window.maxTimestamp.
> Is it true? If not, could anyone let me know the corner case?
> 
> The reason why I'm asking is because I want to register an event-time timer 
> when my custom trigger receives a special event which signifies the end of a 
> session.
> The timestamp of the registered timer is not going to be equal to 
> window.maxTimestamp and I want to return Trigger.Result.FIRE_AND_PURGE in 
> such a case.
> As I also want to purge the content of a window when it expires, onEventTime 
> should look like this:
> 
>       @Override
>       public TriggerResult onEventTime(long time, TimeWindow window, 
> TriggerContext ctx) {
>               return TriggerResult.FIRE_AND_PURGE;
>       }
> 
> It will return FIRE_AND_PURGE every time MyTrigger.onEventTime is called.
> It looks quite dangerous and I'm not quite sure about that.
> 
> - Dongwon
> 

Reply via email to