Hi,
Because of how they are triggered by the watermark, all event-time triggers
with the same timestamp will be triggered in the same go, without interleaving
other calls. Same is true for processing-time triggers because they "piggy
back" on the one "physical" processing-time service trigger.
Hi,
Thanks for the explanation.
Because timer callback and normal execution are not guarantee to be
concurrent-safe, if we have multiple timers with the same timestamp, are
all of them run before the normal execution resume or are they
interleaved with normal execution?
Also may I ask how
Hi,
This is slightly different for processing-time and event-time triggers.
First, event-time triggers: there are two data structures, a PriorityQueue
(which is implemented as a heap) of timers that is sorted by timestamp, a set
of registered timers that is used for deduplication. When adding
Hi Aljoscha,
Could you clarify how the timer system works right now ?
For example, let's say I have a function F, with 3 keys that are
registered to execute at processing time T.
Would Flink maintain a single internal timer at time T, then run the
callback on all 3 keys when it's triggered
Hi,
If you have multiple timers per key, then coalescing can make sense to reduce
the burden on the timer system. Coalescing them across different keys would not
be possible right now.
Best,
Aljoscha
> On 13. Oct 2017, at 06:37, Kien Truong wrote:
>
> Hi,
>
> We
Hi,
We are having a streaming job where we use timers to implement key timeout for
stateful functions. Should we implement coalescing logic to reduce the number
of timer trigger, or it is not necessary with Flink?
Best regards,
Kien