Huge +1 to only allowing single-firing triggers through for sane
semantics in this case. Commented on the doc.

On Fri, Feb 9, 2018 at 5:08 PM, Anton Kedin <ke...@google.com> wrote:
> Hi,
>
> If you're not using Beam SQL JOINs, you're not affected.
>
> In Short
>
> Beam SQL JOIN operation does not work well with multiple trigger firings.
>
> More Detail
>
> Beam SQL JOIN is a CoGBK under the hood. It joins available elements
> per-pane. This means that:
>
> in discarding mode we're joining only new elements which arrived since last
> trigger firing, forgetting about any past elements;
> in accumulating mode in addition to joining new elements we're also emitting
> join results we have already emitted when trigger fired last time;
>
> This behavior cannot be configured or handled in pure SQL.
>
> Even More Detail
>
> Here
>
> Proposal
>
> Short term, allow only trigger configuration which we can reason about,
> rejecting anything else.
>
> For example we know that non-global windows with default trigger with zero
> allowed lateness will fire once per window. In this case we will join all
> elements in the window once after watermark is past end of window.
>
> Long term, retractions will allow correct handling of this situation.
>
> Jira, Pull Request
>
> Regards,
> Anton
>

Reply via email to