For a GlobalWindow, returning TriggerResult.PURGE (or FIRE_AND_PURGE) and 
removing all trigger state (meaning timers and state) will get rid of all 
state. There is no state for the GlobalWindow itself, it only semantically 
exists because of the elements in it and the Trigger state.

Aljoscha

> On 11. Apr 2019, at 10:15, Fabian Hueske <fhue...@gmail.com> wrote:
> 
> Hi,
> 
> As far as I know, a window is only completely removed when time (event or 
> processing time, depending on the window type) passes the window's end 
> timestamp.
> Since, GlobalWindow's end timestamp is Long.MAX_VALUE, it is never completely 
> removed.
> I'm not 100% sure what state is kept around. It might not be keyed state but 
> just objects on the heap but not absolutely sure.
> 
> Aljoscha (in CC) should know the details here.
> 
> Best, Fabian
> 
> Am Do., 11. Apr. 2019 um 08:07 Uhr schrieb Guowei Ma <guowei....@gmail.com 
> <mailto:guowei....@gmail.com>>:
> Hi,
> I think you could return a proper TriggerResult, which defines how to deal 
> with the window elements after computing a window in your trigger 
> implementation. You could find the detail information from the doc[1].
> 
> 1. 
> https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/stream/operators/windows.html#fire-and-purge
>  
> <https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/stream/operators/windows.html#fire-and-purge>
> Best,
> Guowei
> 
> 
> M Singh <mans2si...@yahoo.com <mailto:mans2si...@yahoo.com>> 于2019年4月11日周四 
> 上午1:42写道:
> Hi:
> 
> I have a use case where I need to create a global window where I need to wait 
> for unknown time for certain events for a particular key.  I understand that 
> I can create a global window and use a custom trigger to initiate the 
> function computation.  But I am not sure how to destroy the window after the 
> triggering conditions is satisfied and the the events are purged.
> 
> If there is any better way of dealing with this situation, please let me know.
> 
> Thanks
> 
> Mans

Reply via email to