[ 
https://issues.apache.org/jira/browse/BEAM-11492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fernando Morales updated BEAM-11492:
------------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Open)

The errors mentioned in this WI's parent were resolved once PR 
[https://github.com/apache/beam/pull/14483|http://example.com/] was pushed to 
master.

> Spark test failure: 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: BEAM-11492
>                 URL: https://issues.apache.org/jira/browse/BEAM-11492
>             Project: Beam
>          Issue Type: Sub-task
>          Components: runner-spark, test-failures
>            Reporter: Tyson Hamilton
>            Priority: P1
>              Labels: flake, portability-spark
>
> From: 
> [https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Streaming/465/testReport/org.apache.beam.sdk.transforms/GroupByKeyTest$WindowTests/testGroupByKeyMergingWindows/]
> Other:
> [https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Streaming/464/testReport/org.apache.beam.sdk.transforms/GroupByKeyTest$WindowTests/testGroupByKeyMergingWindows/]
> [https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Streaming/463/testReport/org.apache.beam.sdk.transforms/GroupByKeyTest$WindowTests/testGroupByKeyMergingWindows/]
> {code:java}
> Failedorg.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindowsFailing
>  for the past 388 builds (Since #78 )Took 45 sec.Error 
> Messagejava.lang.RuntimeException: The Runner experienced the following error 
> during execution:
> java.lang.RuntimeException: Error received from SDK harness for instruction 
> 11: org.apache.beam.sdk.util.UserCodeException: java.lang.AssertionError: 
> GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>       at 
> org.apache.beam.sdk.testing.PAssert$DefaultConcludeFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:174)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:416)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:408)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows(GroupByKeyTest.java:574)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:322)
>       at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>       at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>       at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
>       at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
>       at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at 
> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
> Caused by: java.lang.AssertionError: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
>       at org.junit.Assert.assertThat(Assert.java:966)
>       at org.junit.Assert.assertThat(Assert.java:931)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:681)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:666)
>       at org.apache.beam.sdk.testing.PAssert.doChecks(PAssert.java:1477)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Stacktracejava.lang.RuntimeException: The Runner experienced the following 
> error during execution:
> java.lang.RuntimeException: Error received from SDK harness for instruction 
> 11: org.apache.beam.sdk.util.UserCodeException: java.lang.AssertionError: 
> GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>       at 
> org.apache.beam.sdk.testing.PAssert$DefaultConcludeFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:174)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:416)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:408)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows(GroupByKeyTest.java:574)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:322)
>       at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>       at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>       at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
>       at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
>       at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at 
> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
> Caused by: java.lang.AssertionError: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
>       at org.junit.Assert.assertThat(Assert.java:966)
>       at org.junit.Assert.assertThat(Assert.java:931)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:681)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:666)
>       at org.apache.beam.sdk.testing.PAssert.doChecks(PAssert.java:1477)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
>       at 
> org.apache.beam.runners.portability.JobServicePipelineResult.propagateErrors(JobServicePipelineResult.java:166)
>       at 
> org.apache.beam.runners.portability.JobServicePipelineResult.waitUntilFinish(JobServicePipelineResult.java:111)
>       at 
> org.apache.beam.runners.portability.testing.TestPortableRunner.run(TestPortableRunner.java:83)
>       at org.apache.beam.sdk.Pipeline.run(Pipeline.java:322)
>       at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:353)
>       at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:334)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows(GroupByKeyTest.java:585)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:322)
>       at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>       at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>       at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
>       at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
>       at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at 
> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
>       at java.lang.Thread.run(Thread.java:748)
> Standard OutputShutting SDK harness down.
> Shutting SDK harness down.
> Shutting SDK harness down.
> Standard Error20/12/16 18:23:12 INFO 
> org.apache.beam.runners.jobsubmission.JobServerDriver: ArtifactStagingService 
> started on localhost:41655
> 20/12/16 18:23:12 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: 
> Java ExpansionService started on localhost:44397
> 20/12/16 18:23:12 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: 
> JobService started on localhost:45997
> 20/12/16 18:23:15 INFO org.apache.beam.runners.portability.PortableRunner: 
> Using job server endpoint: localhost:45997
> 20/12/16 18:23:15 INFO org.apache.beam.runners.portability.PortableRunner: 
> PrepareJobResponse: preparation_id: 
> "groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_35729744-d443-44ee-b5ca-07dc072948e0"
> artifact_staging_endpoint {
>   url: "localhost:41655"
> }
> staging_session_token: 
> "groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_35729744-d443-44ee-b5ca-07dc072948e0"
> 20/12/16 18:23:15 INFO 
> org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: Staging 
> artifacts for 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_35729744-d443-44ee-b5ca-07dc072948e0.
> 20/12/16 18:23:15 INFO 
> org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: 
> Resolving artifacts for 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_35729744-d443-44ee-b5ca-07dc072948e0.EMBEDDED.
> 20/12/16 18:23:15 INFO 
> org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: Getting 
> 313 artifacts for 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_35729744-d443-44ee-b5ca-07dc072948e0.null.
> 20/12/16 18:23:15 INFO 
> org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: 
> Artifacts fully staged for 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_35729744-d443-44ee-b5ca-07dc072948e0.
> 20/12/16 18:23:15 INFO org.apache.beam.runners.spark.SparkJobInvoker: 
> Invoking job 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_e2551bf4-4539-4aca-9547-bb3c40bd9384
> 20/12/16 18:23:15 INFO org.apache.beam.runners.jobsubmission.JobInvocation: 
> Starting job invocation 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_e2551bf4-4539-4aca-9547-bb3c40bd9384
> 20/12/16 18:23:15 INFO org.apache.beam.runners.portability.PortableRunner: 
> RunJobResponse: job_id: 
> "groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_e2551bf4-4539-4aca-9547-bb3c40bd9384"
> 20/12/16 18:23:16 INFO org.apache.beam.runners.spark.SparkPipelineRunner: 
> Will stage 313 files. (Enable logging at DEBUG level to see which files will 
> be staged.)
> 20/12/16 18:23:16 INFO 
> org.apache.beam.runners.spark.translation.SparkContextFactory: Creating a 
> brand new Spark Context.
> 20/12/16 18:23:16 INFO org.apache.beam.runners.spark.SparkPipelineRunner: 
> Running job 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_e2551bf4-4539-4aca-9547-bb3c40bd9384
>  on Spark master local[4]
> 20/12/16 18:23:16 INFO org.apache.beam.runners.spark.SparkPipelineRunner: 
> Running job 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_e2551bf4-4539-4aca-9547-bb3c40bd9384
>  on Spark master local[4]
> 20/12/16 18:23:16 INFO org.apache.beam.runners.spark.SparkPipelineRunner: Job 
> groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1216182315-e7fac7b6_e2551bf4-4539-4aca-9547-bb3c40bd9384:
>  Pipeline translated successfully. Computing outputs
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:16 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:17 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:18 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:19 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:20 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:21 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:22 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:23 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:24 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:25 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:26 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:27 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:28 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:29 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:30 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:31 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:32 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:33 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 INFO org.apache.beam.fn.harness.FnHarness: Fn Harness 
> started
> 20/12/16 18:23:34 INFO 
> org.apache.beam.runners.fnexecution.logging.GrpcLoggingService: Beam Fn 
> Logging client connected.
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:34 WARN 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: No 
> worker_id header provided in control request
> 20/12/16 18:23:34 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> Beam Fn Control client connected with id 
> 20/12/16 18:23:34 INFO org.apache.beam.fn.harness.FnHarness: Entering 
> instruction processing loop
> 20/12/16 18:23:34 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-2
> 20/12/16 18:23:34 INFO 
> org.apache.beam.runners.fnexecution.data.GrpcDataService: Beam Fn Data client 
> connected.
> 20/12/16 18:23:34 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-3
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-4
> 20/12/16 18:23:35 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-5
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:35 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-6
> 20/12/16 18:23:35 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-7
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-8
> 20/12/16 18:23:36 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-9
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:36 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-10
> 20/12/16 18:23:36 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-11
> 20/12/16 18:23:37 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:37 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:37 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:37 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:37 WARN org.apache.spark.streaming.dstream.QueueInputDStream: 
> queueStream doesn't support checkpointing
> 20/12/16 18:23:37 INFO 
> org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: 
> getProcessBundleDescriptor request with id 36-12
> 20/12/16 18:23:37 ERROR 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient: Client failed to 
> dequeue and process the value
> org.apache.beam.sdk.util.UserCodeException: java.lang.AssertionError: 
> GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>       at 
> org.apache.beam.sdk.testing.PAssert$DefaultConcludeFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:174)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:416)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:408)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows(GroupByKeyTest.java:574)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:322)
>       at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>       at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>       at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
>       at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
>       at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at 
> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
> Caused by: java.lang.AssertionError: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
>       at org.junit.Assert.assertThat(Assert.java:966)
>       at org.junit.Assert.assertThat(Assert.java:931)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:681)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:666)
>       at org.apache.beam.sdk.testing.PAssert.doChecks(PAssert.java:1477)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> 20/12/16 18:23:37 ERROR 
> org.apache.beam.fn.harness.control.BeamFnControlClient: Exception while 
> trying to handle InstructionRequest 11
> org.apache.beam.sdk.util.UserCodeException: java.lang.AssertionError: 
> GroupByKey.out: 
> Expected: iterable with items [a KV(<"foo">, <iterable with items [<1>, <4>] 
> in any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>)] in any order
>      but: no item matches: a KV(<"foo">, <iterable with items [<1>, <4>] in 
> any order>), a KV(<"foo">, <iterable with items [<9>] in any order>), a 
> KV(<"bar">, <iterable with items [<3>] in any order>) in []
>       at 
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>       at 
> org.apache.beam.sdk.testing.PAssert$DefaultConcludeFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionCons
> ...[truncated 1351599 chars]...
> TrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
>       at 
> org.apache.beam.runners.spark.SparkPipelineResult.beamExceptionFrom(SparkPipelineResult.java:73)
>       at 
> org.apache.beam.runners.spark.SparkPipelineResult.access$000(SparkPipelineResult.java:46)
>       at 
> org.apache.beam.runners.spark.SparkPipelineResult$StreamingMode.stop(SparkPipelineResult.java:185)
>       at 
> org.apache.beam.runners.spark.SparkPipelineResult.offerNewState(SparkPipelineResult.java:234)
>       at 
> org.apache.beam.runners.spark.SparkPipelineResult.waitUntilFinish(SparkPipelineResult.java:103)
>       at 
> org.apache.beam.runners.spark.SparkPipelineResult.waitUntilFinish(SparkPipelineResult.java:92)
>       at 
> org.apache.beam.runners.spark.SparkPipelineRunner.run(SparkPipelineRunner.java:207)
>       at 
> org.apache.beam.runners.jobsubmission.JobInvocation.runPipeline(JobInvocation.java:86)
>       at 
> org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
>       at 
> org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
>       at 
> org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.util.concurrent.ExecutionException: 
> java.lang.RuntimeException: Error received from SDK harness for instruction 
> 9: org.apache.beam.sdk.util.UserCodeException: java.lang.AssertionError: 
> GroupByKey.out: 
> Expected: iterable with items [a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>)] in any order
>      but: no item matches: a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>) in []
>       at 
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>       at 
> org.apache.beam.sdk.testing.PAssert$DefaultConcludeFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: GroupByKey.out: 
> Expected: iterable with items [a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>)] in any order
>      but: no item matches: a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>) in []
>       at 
> org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:174)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:416)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:408)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyAndWindows(GroupByKeyTest.java:509)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:322)
>       at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>       at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>       at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
>       at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
>       at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at 
> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
> Caused by: java.lang.AssertionError: 
> Expected: iterable with items [a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>)] in any order
>      but: no item matches: a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>) in []
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
>       at org.junit.Assert.assertThat(Assert.java:966)
>       at org.junit.Assert.assertThat(Assert.java:931)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:681)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:666)
>       at org.apache.beam.sdk.testing.PAssert.doChecks(PAssert.java:1477)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
>       at 
> java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
>       at 
> java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
>       at org.apache.beam.sdk.util.MoreFutures.get(MoreFutures.java:60)
>       at 
> org.apache.beam.runners.fnexecution.control.SdkHarnessClient$BundleProcessor$ActiveBundle.close(SdkHarnessClient.java:504)
>       at 
> org.apache.beam.runners.fnexecution.control.DefaultJobBundleFactory$SimpleStageBundleFactory$1.close(DefaultJobBundleFactory.java:555)
>       at 
> org.apache.beam.runners.spark.translation.SparkExecutableStageFunction.$closeResource(SparkExecutableStageFunction.java:204)
>       at 
> org.apache.beam.runners.spark.translation.SparkExecutableStageFunction.processElements(SparkExecutableStageFunction.java:229)
>       at 
> org.apache.beam.runners.spark.translation.SparkExecutableStageFunction.call(SparkExecutableStageFunction.java:142)
>       at 
> org.apache.beam.runners.spark.translation.SparkExecutableStageFunction.call(SparkExecutableStageFunction.java:80)
>       at 
> org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$fn$3$1.apply(JavaDStreamLike.scala:192)
>       at 
> org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$fn$3$1.apply(JavaDStreamLike.scala:192)
>       at 
> org.apache.spark.rdd.RDD$$anonfun$mapPartitions$1$$anonfun$apply$23.apply(RDD.scala:823)
>       at 
> org.apache.spark.rdd.RDD$$anonfun$mapPartitions$1$$anonfun$apply$23.apply(RDD.scala:823)
>       at 
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
>       at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:346)
>       at org.apache.spark.rdd.RDD.iterator(RDD.scala:310)
>       at 
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
>       at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:346)
>       at org.apache.spark.rdd.RDD.iterator(RDD.scala:310)
>       at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
>       at org.apache.spark.scheduler.Task.run(Task.scala:123)
>       at 
> org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
>       at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
>       at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
>       ... 3 more
> Caused by: java.lang.RuntimeException: Error received from SDK harness for 
> instruction 9: org.apache.beam.sdk.util.UserCodeException: 
> java.lang.AssertionError: GroupByKey.out: 
> Expected: iterable with items [a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>)] in any order
>      but: no item matches: a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>) in []
>       at 
> org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:39)
>       at 
> org.apache.beam.sdk.testing.PAssert$DefaultConcludeFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.AssertionError: GroupByKey.out: 
> Expected: iterable with items [a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>)] in any order
>      but: no item matches: a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>) in []
>       at 
> org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:174)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:416)
>       at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:408)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyAndWindows(GroupByKeyTest.java:509)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:322)
>       at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:266)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:365)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at org.junit.runners.Suite.runChild(Suite.java:128)
>       at org.junit.runners.Suite.runChild(Suite.java:27)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:330)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:78)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:328)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:65)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:292)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:305)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:412)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
>       at 
> org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
>       at 
> org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
>       at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
>       at 
> org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
>       at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
>       at 
> org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
>       at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
>       at 
> org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
>       at 
> org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at 
> org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
> Caused by: java.lang.AssertionError: 
> Expected: iterable with items [a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>)] in any order
>      but: no item matches: a KV(<"k1">, <iterable with items [<3>] in any 
> order>), a KV(<"k1">, <iterable with items [<4>] in any order>), a KV(<"k5">, 
> <iterable with items [<2147483647>, <-2147483648>] in any order>), a 
> KV(<"k2">, <iterable with items [<66>] in any order>), a KV(<"k2">, <iterable 
> with items [<-33>] in any order>), a KV(<"k3">, <iterable with items [<0>] in 
> any order>) in []
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
>       at org.junit.Assert.assertThat(Assert.java:966)
>       at org.junit.Assert.assertThat(Assert.java:931)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:681)
>       at 
> org.apache.beam.sdk.transforms.GroupByKeyTest$ContainsKVs.apply(GroupByKeyTest.java:666)
>       at org.apache.beam.sdk.testing.PAssert.doChecks(PAssert.java:1477)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn.processElement(PAssert.java:1444)
>       at 
> org.apache.beam.sdk.testing.PAssert$GroupedValuesCheckerDoFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn.processElement(PAssert.java:1281)
>       at 
> org.apache.beam.sdk.testing.PAssert$ConcatFn$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1678)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2194)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2363)
>       at 
> org.apache.beam.sdk.transforms.DoFnOutputReceivers$WindowedContextOutputReceiver.output(DoFnOutputReceivers.java:78)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1.processElement(MapElements.java:142)
>       at 
> org.apache.beam.sdk.transforms.MapElements$1$DoFnInvoker.invokeProcessElement(Unknown
>  Source)
>       at 
> org.apache.beam.fn.harness.FnApiDoFnRunner.processElementForParDo(FnApiDoFnRunner.java:748)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:222)
>       at 
> org.apache.beam.fn.harness.data.PCollectionConsumerRegistry$MetricTrackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
>       at 
> org.apache.beam.fn.harness.BeamFnDataReadRunner.forwardElementToConsumer(BeamFnDataReadRunner.java:220)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:43)
>       at 
> org.apache.beam.sdk.fn.data.DecodingFnDataReceiver.accept(DecodingFnDataReceiver.java:25)
>       at 
> org.apache.beam.fn.harness.data.QueueingBeamFnDataClient.drainAndBlock(QueueingBeamFnDataClient.java:111)
>       at 
> org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:304)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:173)
>       at 
> org.apache.beam.fn.harness.control.BeamFnControlClient.lambda$processInstructionRequests$0(BeamFnControlClient.java:157)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
>       at 
> org.apache.beam.runners.fnexecution.control.FnApiControlClient$ResponseStreamObserver.onNext(FnApiControlClient.java:180)
>       at 
> org.apache.beam.runners.fnexecution.control.FnApiControlClient$ResponseStreamObserver.onNext(FnApiControlClient.java:160)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onMessage(ServerCalls.java:251)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.ForwardingServerCallListener.onMessage(ForwardingServerCallListener.java:33)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.Contexts$ContextualizedServerCallListener.onMessage(Contexts.java:76)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailableInternal(ServerCallImpl.java:309)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.messagesAvailable(ServerCallImpl.java:292)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1MessagesAvailable.runInContext(ServerImpl.java:782)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
>       ... 3 more
> 20/12/16 18:25:31 ERROR 
> org.apache.beam.runners.jobsubmission.InMemoryJobService: Encountered 
> Unexpected Exception for Invocation 
> groupbykeytest0windowtests0testgroupbykeyandwindows-jenkins-1216182448-4b7f101b_ad04429b-e394-467e-bc12-b06e23b28d62
> java.lang.IllegalStateException: Stream is already completed, no further 
> calls are allowed
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.com.google.common.base.Preconditions.checkState(Preconditions.java:511)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onNext(ServerCalls.java:346)
>       at 
> org.apache.beam.sdk.fn.stream.SynchronizedStreamObserver.onNext(SynchronizedStreamObserver.java:46)
>       at 
> org.apache.beam.runners.jobsubmission.InMemoryJobService.lambda$getMessageStream$2(InMemoryJobService.java:434)
>       at 
> org.apache.beam.runners.jobsubmission.JobInvocation.addStateListener(JobInvocation.java:218)
>       at 
> org.apache.beam.runners.jobsubmission.InMemoryJobService.getMessageStream(InMemoryJobService.java:450)
>       at 
> org.apache.beam.model.jobmanagement.v1.JobServiceGrpc$MethodHandlers.invoke(JobServiceGrpc.java:985)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:172)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:331)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:817)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> Dec 16, 2020 6:25:31 PM 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.SerializingExecutor run
> SEVERE: Exception while executing runnable 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed@f04460c
> java.lang.IllegalStateException: call already closed
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.com.google.common.base.Preconditions.checkState(Preconditions.java:511)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerCallImpl.closeInternal(ServerCallImpl.java:209)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerCallImpl.close(ServerCallImpl.java:202)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onError(ServerCalls.java:360)
>       at 
> org.apache.beam.runners.jobsubmission.InMemoryJobService.getMessageStream(InMemoryJobService.java:458)
>       at 
> org.apache.beam.model.jobmanagement.v1.JobServiceGrpc$MethodHandlers.invoke(JobServiceGrpc.java:985)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:172)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.ForwardingServerCallListener$SimpleForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:40)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.Contexts$ContextualizedServerCallListener.onHalfClose(Contexts.java:86)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:331)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:817)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
>       at 
> org.apache.beam.vendor.grpc.v1p26p0.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748)
> 20/12/16 18:25:31 INFO 
> org.apache.beam.runners.jobsubmission.InMemoryJobService: Getting job metrics 
> for 
> groupbykeytest0windowtests0testgroupbykeyandwindows-jenkins-1216182448-4b7f101b_ad04429b-e394-467e-bc12-b06e23b28d62
> 20/12/16 18:25:31 INFO 
> org.apache.beam.runners.jobsubmission.InMemoryJobService: Finished getting 
> job metrics for 
> groupbykeytest0windowtests0testgroupbykeyandwindows-jenkins-1216182448-4b7f101b_ad04429b-e394-467e-bc12-b06e23b28d62
> 20/12/16 18:25:31 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: 
> JobServer stopped on localhost:35527
> 20/12/16 18:25:31 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: 
> ArtifactStagingServer stopped on localhost:33159
> 20/12/16 18:25:31 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: 
> Expansion stopped on localhost:41277
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to