Pointing users to the website with additional details in the error messages
would likely help as well.

On Tue, May 5, 2020 at 8:45 AM Brian Hulette <[email protected]> wrote:

> In both SDKs this is an unsafe trigger because it will only fire once for
> the first window (per key), and any subsequent data on the same key will be
> dropped. In 2.18, we closed BEAM-3288 with PR
> https://github.com/apache/beam/pull/9960, which detects these cases and
> fails early. Probably the fix is to add Repeatedly.forever around your
> AfterWatermark trigger.
>
> This is noted if you read through
> https://s.apache.org/finishing-triggers-drop-data but it's not super
> clear from a user perspective. Maybe we should add a statement like "did
> you mean to wrap it in Repeatedly.forever?" to the error message, and/or
> update https://s.apache.org/finishing-triggers-drop-data with clear
> directions for users. +Kenneth Knowles <[email protected]>
>
> On Tue, May 5, 2020 at 5:18 AM Eddy G <[email protected]> wrote:
>
>> Hey all!
>>
>> Recently been updating Beam pipelines up to 2.19, and the following
>> trigger which previously worked with 2.15 flawlessly has stopped doing so
>> and the project doesn't even compile now.
>>
>>             .apply("15min Window",
>> Window.<GenericRecord>into(FixedWindows.of(Duration.standardMinutes(15)))
>>                 .triggering(AfterWatermark
>>                     .pastEndOfWindow())
>>                 .withAllowedLateness(Duration.standardMinutes(60))
>>                 .discardingFiredPanes()
>>             )
>>
>> And will complain with the following error.
>>
>> Exception in thread "main" java.lang.IllegalArgumentException: Unsafe
>> trigger may lose data, see
>> https://s.apache.org/finishing-triggers-drop-data:
>> AfterWatermark.pastEndOfWindow()
>>
>> Reviewing the changelog I don't see any changes regarding AfterWatermark.
>> Am I missing something?
>>
>

Reply via email to