Hmm, classical Dataflow should fail.

 - all user timers in a bundle processed first:
https://github.com/apache/beam/blob/master/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java#L353
 - processed in a loop that drains the StepContext:
https://github.com/apache/beam/blob/master/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/SimpleParDoFn.java#L451
 - the context just feeds the iterable for the current bundle (no priority
queue of newly set timers):
https://github.com/apache/beam/blob/master/runners/google-cloud-dataflow-java/worker/src/main/java/org/apache/beam/runners/dataflow/worker/StreamingModeExecutionContext.java#L550

Looks like we need some more tests.

Kenn

On Thu, Oct 31, 2019 at 10:06 AM Jan Lukavský <je...@seznam.cz> wrote:

> Hi,
>
> just today I noticed failures on portable dataflow [1] [2]. "Classical"
> dataflow seems to pass.
>
> Jan
>
> [1] https://issues.apache.org/jira/browse/BEAM-8530
>
> [2] https://github.com/apache/beam/pull/9951
> On 10/31/19 5:29 PM, Reuven Lax wrote:
>
> Have you seen these failures on Dataflow as well? From code examination I
> would expect Dataflow to have some bugs in this area as well (especially if
> a timer is set while processing a bundle). If the tests are passing on
> Dataflow this might mean that we need different tests (or it might mean
> that Dataflow is "working" for some mysterious reason that is not obvious
> from the code :) ).
>
> On Wed, Oct 23, 2019 at 2:54 AM Jan Lukavský <je...@seznam.cz> wrote:
>
>> Hi,
>>
>> as part of [1] a new set of validatesRunner tests has been introduced.
>> These tests (currently marked as category UsesStrictTimerOrdering)
>> verify that runners fire timers in increasing timestamp under all
>> circumstances. After adding these validatesRunner tests, Samza [2] and
>> Portable Flink [3] started to fail these tests. I have created the
>> tracking issues for that, because that behavior should be fixed (timers
>> in wrong order can cause erratic behavior and/or data loss).
>>
>> I'm writing to anyone interested in solving these issues.
>>
>> Cheers,
>>
>>   Jan
>>
>> [1] https://issues.apache.org/jira/browse/BEAM-7520
>>
>> [2] https://issues.apache.org/jira/browse/BEAM-8459
>>
>> [3] https://issues.apache.org/jira/browse/BEAM-8460
>>
>>

Reply via email to