This reminds me of a bug I had filed for the direct runner a few weeks ago,
except I was running into it in Java and not python.
https://issues.apache.org/jira/browse/BEAM-6813

On Thu, Mar 28, 2019 at 9:04 PM Ahmet Altay <[email protected]> wrote:

> I agree it looks like a bug. Filed
> https://issues.apache.org/jira/browse/BEAM-6934
>
>
>
> On Thu, Mar 28, 2019 at 5:18 PM Reuven Lax <[email protected]> wrote:
>
>> This looks like a bug to me.
>>
>> On Thu, Mar 28, 2019 at 2:52 PM Amar Pai <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I'm running into some unexpected behavior when trying to unit test a
>>> stateful DoFn that uses watermark timers as well as bag state.  I'm
>>> following the example here:
>>> https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/userstate_test.py#L333
>>>
>>> Expected behavior:
>>> When using TestStream, if a stateful DoFn adds value 'foo' to BagState
>>> then sets two watermark timers t1 and t2, where t1 clears the bag state and
>>> t2 reads from bag state and emits the contents, if t1.time < t2.time then
>>> nothing should get emitted when the TestPipeline is run. (bag state should
>>> be cleared by timer at t1 before it is read from by timer at t2)
>>>
>>> Actual behavior:
>>> For the scenario described above, results get emitted despite t1.time
>>> being less than t2.time.
>>> I've created a gist with a demonstration of the problem:
>>> https://gist.github.com/jcruelty/3bf5ce5865110372a2d1650b1421cde1
>>>
>>>
>>> Is this a bug?  Would appreciate your thoughts.
>>> cheers
>>>
>>> Amar
>>>
>>

Reply via email to