You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Fernando Morales (Jira)" <ji...@apache.org> on 2021/04/26 22:06:00 UTC

[jira] [Updated] (BEAM-11492) Spark test failure: org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMergingWindows

     [ 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)