[ 
https://issues.apache.org/jira/browse/BEAM-2402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16034187#comment-16034187
 ] 

Aljoscha Krettek commented on BEAM-2402:
----------------------------------------

[~pei...@gmail.com], what do you mean by that timer scan? Flink keeps the 
timer's in a {{PriorityQueue}} by timestamp (on heap, which comes with it's on 
set of problems that we're hoping to address soon) and when a watermark comes 
(or processing time advances) the queue is worked off. So yes, if all keys set 
a timer for timestamp T and that time T comes then the system will fire all 
those timers at once (still serially). I think this is a "problem" of all timer 
implementations, though.

> Support AfterPane.elementGapAtMost() trigger and its combination with 
> elementCountAtLeast()
> -------------------------------------------------------------------------------------------
>
>                 Key: BEAM-2402
>                 URL: https://issues.apache.org/jira/browse/BEAM-2402
>             Project: Beam
>          Issue Type: New Feature
>          Components: sdk-java-core
>            Reporter: Pei He
>            Assignee: Pei He
>
> We need a timestamp-driven trigger to use as a cheaper (or more efficient) 
> version of the ProcessingTime trigger.
> The problem of using ProcessingTime trigger is that current runners' supports 
> are not very efficient, and couldn't work for pipelines that have lots of 
> keys (for example, flink runner will scan timers for all keys when watermark 
> advance).
> We have used AfterPane.elementGapAtMost() trigger in our production, and want 
> to merge it back. And, we believe it could be the solution for people who 
> have the similar issue.
> Implementation for reference:
> https://github.com/apache/beam/compare/master...peihe:custom-after-pane?expand=1



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to