[ 
https://issues.apache.org/jira/browse/BEAM-3377?focusedWorklogId=103533&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-103533
 ]

ASF GitHub Bot logged work on BEAM-3377:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 18/May/18 19:09
            Start Date: 18/May/18 19:09
    Worklog Time Spent: 10m 
      Work Description: mariapython commented on issue #5384: [BEAM-3377] Add 
validation for streaming wordcount with assert_that
URL: https://github.com/apache/beam/pull/5384#issuecomment-390304466
 
 
   Just saw this, will do after lunch
   
   ---
   María from the phone
   
   > On May 18, 2018, at 9:40 AM, Ahmet Altay <notificati...@github.com> wrote:
   > 
   > LGTM. Could you squash your changes? I can also do this if you prefer that.
   > 
   > —
   > You are receiving this because you authored the thread.
   > Reply to this email directly, view it on GitHub, or mute the thread.
   > 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 103533)
    Time Spent: 5h 40m  (was: 5.5h)

> assert_that not working for streaming
> -------------------------------------
>
>                 Key: BEAM-3377
>                 URL: https://issues.apache.org/jira/browse/BEAM-3377
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>    Affects Versions: 2.2.0
>            Reporter: María GH
>            Priority: Major
>              Labels: starter
>          Time Spent: 5h 40m
>  Remaining Estimate: 0h
>
> assert_that does not work for AfterWatermark timers.
> Easy way to reproduce: modify test_gbk_execution [1] in this form:
>  
> {code:java}
>  def test_this(self):
>     test_stream = (TestStream()
>                    .add_elements(['a', 'b', 'c'])
>                    .advance_watermark_to(20))
>     def fnc(x):
>       print 'fired_elem:', x
>       return x
>     options = PipelineOptions()
>     options.view_as(StandardOptions).streaming = True
>     p = TestPipeline(options=options)
>     records = (p
>                | test_stream
>                | beam.WindowInto(
>                    FixedWindows(15),
>                    
> trigger=trigger.AfterWatermark(early=trigger.AfterCount(2)),
>                    accumulation_mode=trigger.AccumulationMode.ACCUMULATING)
>                | beam.Map(lambda x: ('k', x))
>                | beam.GroupByKey())
>     assert_that(records, equal_to([
>         ('k', ['a', 'b', 'c'])]))
>     p.run()
> {code}
> This test will pass, but if the .advance_watermark_to(20) is removed, the 
> test will fail. However, both cases fire the same elements:
>       fired_elem: ('k', ['a', 'b', 'c'])
>       fired_elem: ('k', ['a', 'b', 'c'])
> In the passing case, they correspond to the sorted_actual inside the 
> assert_that. In the failing case:
>       sorted_actual: [('k', ['a', 'b', 'c']), ('k', ['a', 'b', 'c'])]
>       sorted_actual: []
> [1] 
> https://github.com/mariapython/incubator-beam/blob/direct-timers-show/sdks/python/apache_beam/testing/test_stream_test.py#L120



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

Reply via email to