On Wed, Sep 14, 2016 at 5:14 AM, Aljoscha Krettek <[email protected]> wrote:
> Hi,
> I had a chat with Kenn at Flink Forward and he did an off-hand remark about
> how it might be better if triggers where not allowed to mark a window as
> finished and instead always be "Repeatedly" (if I understood correctly).
>
> Maybe you (Kenn) could go a bit more in depth about what you meant by this
> and if we should actually change this in Beam. Would this mean that we then
> have the opposite of Repeatedly, i.e. Once, or Only.once(T)?

Once triggers are significantly easier to reason about from a
user/data perspective, especially in the context of further downstream
aggregation.

> I also noticed some inconsistencies in when triggers behave as repeated
> triggers and once triggers. For example, AfterPane.elementCountAtLeast(5)
> only fires once if used alone but it it fires repeatedly if used as the
> speculative trigger in
> AfterWatermark.pastEndOfWindow().withEarlyFirings(...). (This is true for
> all "once" triggers.)

Yes, a repeatedly is applied to the early/late firing specifications.
The watermark itself is once (marks the window as finished, unless
there is a late trigger specified).

https://cloud.google.com/dataflow/java-sdk/JavaDoc/com/google/cloud/dataflow/sdk/transforms/windowing/AfterWatermark.FromEndOfWindow

Reply via email to