[
https://issues.apache.org/jira/browse/BEAM-6934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pablo Estrada resolved BEAM-6934.
---------------------------------
Resolution: Fixed
Fix Version/s: 2.13.0
> 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
> Assignee: Pablo Estrada
> Priority: Major
> Fix For: 2.13.0
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> 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)