Thanks for the help, Arvid! On Tue, Mar 24, 2020 at 1:30 AM Arvid Heise <[email protected]> wrote:
> Hi Manas, > > both are valid options. > > I'd probably add a processing time timeout event in a process function, > which will only trigger after no event has been received after 1 minute. In > this way, you don't need to know which devices there are and just enqueue > one timer per key (=device id). > > After the process function, you'd need to reapply your watermark assigner > as processing time and event time usually don't mix well and need to be > explicitly resolved. > > After the assigner, you can then simply filter out the timeout event and > don't need to care in downstream operations. > > On Mon, Mar 23, 2020 at 11:42 AM Manas Kale <[email protected]> wrote: > >> Hi, >> I have a scenario where I have an input event stream from various IoT >> devices. Every message on this stream can be of some eventType and has an >> eventTimestamp. Downstream, some business logic is implemented on this >> based on event time. >> In case a device goes offline, what's the best way to indicate to this >> system that even time has progressed? Should I : >> >> - Send a special message that contains only event time information, >> and write code to handle this message in all downstream operators? >> >> >> - Implement some processing time timer in the system that will tick >> the watermark forward if we don't see any message for some duration? I >> will >> still need to write code in downstream operators that handles this timer's >> trigger message. >> >> I would prefer not writing code to handle special watermark messages. So >> does Flink provide any API level call that I can use to tick the watermark >> forward for all downstream operators when this special message is received >> / timer is fired? >> >
