[ 
https://issues.apache.org/jira/browse/BEAM-3755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17546799#comment-17546799
 ] 

Kenneth Knowles commented on BEAM-3755:
---------------------------------------

This issue has been migrated to https://github.com/apache/beam/issues/18630

> Unable to Test Session "with gap duration" Windowing
> ----------------------------------------------------
>
>                 Key: BEAM-3755
>                 URL: https://issues.apache.org/jira/browse/BEAM-3755
>             Project: Beam
>          Issue Type: Bug
>          Components: testing
>    Affects Versions: 2.2.0
>         Environment: Java
>            Reporter: Joe
>            Priority: P3
>
> Trying to write a unit test to verify the windowing behavior for session with 
> gap duration, but my assumption is that there is a merging of IntervalWindows 
> that normally happens that is not happening for my test pipeline, because my 
> actual pipeline seems to work as expected, but my test fails.  
> I have been using these resources:
> [http://www.waitingforcode.com/apache-beam/windows-apache-beam/read]
> [https://beam.apache.org/blog/2016/10/20/test-stream.html]
>  
> Here is an example of the issue:
> {code:java}
> String guid = "user1";
> UniqueUserKey uniqueUser = makeUniqueUserKey(guid);
> // the first value to makePageView results in the timestamp: new 
> Instant(value)
> TimestampedValue<KV<UniqueUserKey, PageLoadEvent>> homepage = makePageView(1, 
> "HomePage", "homepage", guid, uniqueUser);
> TimestampedValue<KV<UniqueUserKey, PageLoadEvent>> productDetails1 = 
> makePageView(2, "Product Details", "product_details", guid, uniqueUser);
> TestStream<KV<UniqueUserKey, PageLoadEvent>> testStream = 
> TestStream.create(KvCoder.of(ProtoCoder.of(UniqueUserKey.class), 
> ProtoCoder.of(PageLoadEvent.class)))
>     .addElements(homepage)
>     .addElements(productDetails1)
>     .advanceWatermarkTo(new Instant(8))
>     .advanceWatermarkToInfinity();
> IntervalWindow window1 = new IntervalWindow(new Instant(1), new Instant(3));
> // This fails because productDetails1 is not in the window
> PAssert.that(firstTransform).inFinalPane(window1).containsInAnyOrder(
>     homepage.getValue(),
>     productDetails1.getValue());
> pipeline.run().waitUntilFinish();{code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to