Ahmet Altay created BEAM-6934:
---------------------------------

             Summary: Unexpected TestStream behavior when testing stateful DoFn 
(DirectRunner)
                 Key: BEAM-6934
                 URL: https://issues.apache.org/jira/browse/BEAM-6934
             Project: Beam
          Issue Type: Bug
          Components: sdk-py-core
            Reporter: Ahmet Altay


User reported issue:

"""
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
"""

(cc: [~ccy])



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to