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

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

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

Kenneth Knowles updated BEAM-11491:
-----------------------------------
    Labels: flake portability-spark  (was: portability-spark)

> Spark test failure: org.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMultipleWindows
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: BEAM-11491
>                 URL: https://issues.apache.org/jira/browse/BEAM-11491
>             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/468/testReport/org.apache.beam.sdk.transforms/GroupByKeyTest$WindowTests/testGroupByKeyMultipleWindows/]
> Others:
> [https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Streaming/467/testReport/org.apache.beam.sdk.transforms/GroupByKeyTest$WindowTests/testGroupByKeyMultipleWindows/]
> [https://ci-beam.apache.org/job/beam_PostCommit_Java_PVR_Spark_Streaming/466/testReport/org.apache.beam.sdk.transforms/GroupByKeyTest$WindowTests/testGroupByKeyMultipleWindows/]
>  
> {code:java}
> Failedorg.apache.beam.sdk.transforms.GroupByKeyTest$WindowTests.testGroupByKeyMultipleWindowsFailing for the past 391 builds (Since #78 )Took 42 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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.testGroupByKeyMultipleWindows(GroupByKeyTest.java:544)
> 	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.GeneratedMethodAccessor155.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.GeneratedMethodAccessor154.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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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.testGroupByKeyMultipleWindows(GroupByKeyTest.java:544)
> 	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.GeneratedMethodAccessor155.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.GeneratedMethodAccessor154.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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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 [<1>] in any order>), a KV(<"foo">, <iterable with items [<4>] in any order>), a KV(<"bar">, <iterable with items [<3>] 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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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.testGroupByKeyMultipleWindows(GroupByKeyTest.java:557)
> 	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.GeneratedMethodAccessor155.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.GeneratedMethodAccessor154.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/17 12:23:36 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: ArtifactStagingService started on localhost:36997
> 20/12/17 12:23:36 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: Java ExpansionService started on localhost:43299
> 20/12/17 12:23:36 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: JobService started on localhost:39071
> 20/12/17 12:23:39 INFO org.apache.beam.runners.portability.PortableRunner: Using job server endpoint: localhost:39071
> 20/12/17 12:23:39 INFO org.apache.beam.runners.portability.PortableRunner: PrepareJobResponse: preparation_id: "groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_d1b942de-cbd1-4b80-86dc-e936759cf1ac"
> artifact_staging_endpoint {
>   url: "localhost:36997"
> }
> staging_session_token: "groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_d1b942de-cbd1-4b80-86dc-e936759cf1ac"
> 20/12/17 12:23:39 INFO org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: Staging artifacts for groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_d1b942de-cbd1-4b80-86dc-e936759cf1ac.
> 20/12/17 12:23:39 INFO org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: Resolving artifacts for groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_d1b942de-cbd1-4b80-86dc-e936759cf1ac.EMBEDDED.
> 20/12/17 12:23:39 INFO org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: Getting 313 artifacts for groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_d1b942de-cbd1-4b80-86dc-e936759cf1ac.null.
> 20/12/17 12:23:39 INFO org.apache.beam.runners.fnexecution.artifact.ArtifactStagingService: Artifacts fully staged for groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_d1b942de-cbd1-4b80-86dc-e936759cf1ac.
> 20/12/17 12:23:39 INFO org.apache.beam.runners.spark.SparkJobInvoker: Invoking job groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_60f23580-6aed-4787-8eab-2562ddb0b993
> 20/12/17 12:23:39 INFO org.apache.beam.runners.jobsubmission.JobInvocation: Starting job invocation groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_60f23580-6aed-4787-8eab-2562ddb0b993
> 20/12/17 12:23:39 INFO org.apache.beam.runners.portability.PortableRunner: RunJobResponse: job_id: "groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_60f23580-6aed-4787-8eab-2562ddb0b993"
> 20/12/17 12:23:39 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/17 12:23:39 INFO org.apache.beam.runners.spark.translation.SparkContextFactory: Creating a brand new Spark Context.
> 20/12/17 12:23:40 INFO org.apache.beam.runners.spark.SparkPipelineRunner: Running job groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_60f23580-6aed-4787-8eab-2562ddb0b993 on Spark master local[4]
> 20/12/17 12:23:40 INFO org.apache.beam.runners.spark.SparkPipelineRunner: Running job groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_60f23580-6aed-4787-8eab-2562ddb0b993 on Spark master local[4]
> 20/12/17 12:23:40 INFO org.apache.beam.runners.spark.SparkPipelineRunner: Job groupbykeytest0windowtests0testgroupbykeymergingwindows-jenkins-1217122339-d7588820_60f23580-6aed-4787-8eab-2562ddb0b993: Pipeline translated successfully. Computing outputs
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:40 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:41 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:42 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:43 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:44 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:45 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:46 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:47 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:48 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:49 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:50 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:51 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:52 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:53 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:54 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:55 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:56 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:57 INFO org.apache.beam.fn.harness.FnHarness: Fn Harness started
> 20/12/17 12:23:57 INFO org.apache.beam.runners.fnexecution.logging.GrpcLoggingService: Beam Fn Logging client connected.
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: No worker_id header provided in control request
> 20/12/17 12:23:58 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: Beam Fn Control client connected with id 
> 20/12/17 12:23:58 INFO org.apache.beam.fn.harness.FnHarness: Entering instruction processing loop
> 20/12/17 12:23:58 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-2
> 20/12/17 12:23:58 INFO org.apache.beam.runners.fnexecution.data.GrpcDataService: Beam Fn Data client connected.
> 20/12/17 12:23:58 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-3
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:58 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-4
> 20/12/17 12:23:59 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-5
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-6
> 20/12/17 12:23:59 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-7
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:23:59 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-8
> 20/12/17 12:24:00 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-9
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-10
> 20/12/17 12:24:00 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-11
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 WARN org.apache.spark.streaming.dstream.QueueInputDStream: queueStream doesn't support checkpointing
> 20/12/17 12:24:00 INFO org.apache.beam.runners.fnexecution.control.FnApiControlClientPoolService: getProcessBundleDescriptor request with id 36-12
> 20/12/17 12:24:00 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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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.GeneratedMethodAccessor155.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.GeneratedMethodAccessor154.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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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/17 12:24:00 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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	at org.apache.beam.sdk.tes
> ...[truncated 1325769 chars]...
> rackingFnDataReceiver.accept(PCollectionConsumerRegistry.java:185)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.outputTo(FnApiDoFnRunner.java:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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.GeneratedMethodAccessor155.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.GeneratedMethodAccessor154.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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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.GeneratedMethodAccessor155.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.GeneratedMethodAccessor154.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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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:1705)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner.access$2500(FnApiDoFnRunner.java:139)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$NonWindowObservingProcessBundleContext.outputWithTimestamp(FnApiDoFnRunner.java:2221)
> 	at org.apache.beam.fn.harness.FnApiDoFnRunner$ProcessBundleContextBase.output(FnApiDoFnRunner.java:2390)
> 	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:752)
> 	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/17 12:25:40 ERROR org.apache.beam.runners.jobsubmission.InMemoryJobService: Encountered Unexpected Exception for Invocation groupbykeytest0windowtests0testgroupbykeyandwindows-jenkins-1217122504-4900bf1b_06d5339c-e8c4-470c-b47a-57281373a934
> 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 17, 2020 12:25:40 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@2b93d42
> 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/17 12:25:40 INFO org.apache.beam.runners.jobsubmission.InMemoryJobService: Getting job metrics for groupbykeytest0windowtests0testgroupbykeyandwindows-jenkins-1217122504-4900bf1b_06d5339c-e8c4-470c-b47a-57281373a934
> 20/12/17 12:25:40 INFO org.apache.beam.runners.jobsubmission.InMemoryJobService: Finished getting job metrics for groupbykeytest0windowtests0testgroupbykeyandwindows-jenkins-1217122504-4900bf1b_06d5339c-e8c4-470c-b47a-57281373a934
> 20/12/17 12:25:40 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: JobServer stopped on localhost:38517
> 20/12/17 12:25:40 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: ArtifactStagingServer stopped on localhost:38549
> 20/12/17 12:25:40 INFO org.apache.beam.runners.jobsubmission.JobServerDriver: Expansion stopped on localhost:42539
> {code}



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