Hi Andrew, You should call it manually, as the global window does not have a natural end.
Best, Hequn On Wed, Oct 17, 2018 at 2:47 AM Andrew Danks <a.da...@gmail.com> wrote: > Hi Fabian & Hequn, > > Thank you for your responses. I am just responding now as I was out of > office for the last few days > > You mentioned that clear() is called when the time exceeds the window’s > end timestamp. For my application I am using a GlobalWindow on a keyed > stream -- would clear() get called at all in this case or should I be > calling it manually? > > > Andrew > > On Oct 12, 2018, at 12:48 AM, Fabian Hueske <fhue...@gmail.com> wrote: > > Hi Andrew, > > The PURGE action of a window removes the window state (i.e., the collected > events or computed aggregate) but the window meta data including the > Trigger remain. > The Trigger.close() method is called, when the winodw is completely (i.e., > all meta data) discarded. This happens, when the time (wallclock time for > processing time or watermark for event time windows) exceeds the window's > end timestamp. > > Best, Fabian > > Am Fr., 12. Okt. 2018 um 05:25 Uhr schrieb Hequn Cheng < > chenghe...@gmail.com>: > >> Hi Andrew, >> >> Do you use CountWindow? You can switch to TimeWindow to have a test. >> I'm not quite familiar with window. I checked the code and found that >> clear() is called only when timer is triggered, i.e, called at the end of >> time window. >> Hope this helps. >> >> Best, Hequn >> >> On Fri, Oct 12, 2018 at 6:23 AM Andrew Danks <a.da...@gmail.com> wrote: >> >>> Hello, >>> >>> I see that the clear() function is implemented for various types of >>> Triggers in the Flink API. For example: >>> >>> https://github.com/apache/flink/blob/release-1.3/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/triggers/ContinuousProcessingTimeTrigger.java#L87 >>> >>> I am working on a custom Trigger for my application and have implemented >>> clear() in a similar way. >>> >>> However, having put a breakpoint in this function it doesn’t seem to get >>> called when I expect. The source code says that is called "when a window is >>> purged”[1] but when my Trigger emits a PURGE this function never seems to >>> get called. I am on Flink 1.3. >>> >>> Hoping someone can shed more light on the purpose of clear() and >>> how/when it gets called >>> >>> Thanks! >>> Andrew >>> >>> >>> [1] >>> https://github.com/apache/flink/blob/release-1.3/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/triggers/Trigger.java#L111 >>> >>> >