[
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:
----------------------------------------
[[email protected]], 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)