[
https://issues.apache.org/jira/browse/BEAM-3408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16310050#comment-16310050
]
Henning Rohde commented on BEAM-3408:
-------------------------------------
For searchability, a failing stack trace looks like:
java.lang.RuntimeException: Error while staging packages
at
org.apache.beam.runners.dataflow.util.PackageUtil.stageClasspathElements(PackageUtil.java:415)
at
org.apache.beam.runners.dataflow.util.PackageUtil.stageClasspathElements(PackageUtil.java:282)
at
org.apache.beam.runners.dataflow.util.GcsStager.stageFiles(GcsStager.java:76)
at
org.apache.beam.runners.dataflow.util.GcsStager.stageDefaultFiles(GcsStager.java:64)
at
org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:649)
at
org.apache.beam.runners.dataflow.TestDataflowRunner.run(TestDataflowRunner.java:97)
at
org.apache.beam.runners.dataflow.TestDataflowRunner.run(TestDataflowRunner.java:89)
at
org.apache.beam.runners.dataflow.TestDataflowRunner.run(TestDataflowRunner.java:54)
at org.apache.beam.sdk.Pipeline.run(Pipeline.java:304)
at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:358)
at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:340)
at
org.apache.beam.sdk.transforms.ViewTest.testMapSideInput(ViewTest.java:814)
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:50)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at
org.apache.beam.sdk.testing.TestPipeline$1.evaluate(TestPipeline.java:329)
at
org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at
org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:393)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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.io.IOException: Error matching file spec
gs://temp-storage-for-validates-runner-tests//viewtest0testmapsideinput-jenkins-0102204928-9b26a8e1/output/results/staging/beam-model-job-management-2.3.0-SNAPSHOT-1RpJSkJMp6fyHWXHctb9jA.jar:
status ERROR
at
org.apache.beam.sdk.io.FileSystems.matchSingleFileSpec(FileSystems.java:196)
at
org.apache.beam.runners.dataflow.util.PackageUtil.alreadyStaged(PackageUtil.java:164)
at
org.apache.beam.runners.dataflow.util.PackageUtil.stagePackageSynchronously(PackageUtil.java:193)
at
org.apache.beam.runners.dataflow.util.PackageUtil.access$000(PackageUtil.java:74)
at
org.apache.beam.runners.dataflow.util.PackageUtil$2.call(PackageUtil.java:181)
at
org.apache.beam.runners.dataflow.util.PackageUtil$2.call(PackageUtil.java:178)
at
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)
at
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)
at
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)
... 3 more
> PackageUtil should retry check for whether file is already staged
> -----------------------------------------------------------------
>
> Key: BEAM-3408
> URL: https://issues.apache.org/jira/browse/BEAM-3408
> Project: Beam
> Issue Type: Bug
> Components: runner-dataflow
> Reporter: Henning Rohde
> Assignee: Thomas Groh
>
> The code to stage files retries the upload, but the existence (and size)
> check is attempted only once:
> https://github.com/apache/beam/blob/dc3a664e3b4b4f63500954aae25dce0cb5f8b314/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/util/PackageUtil.java#L193
> This causes post-commit tests to fail sometimes:
> https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/org.apache.beam$beam-runners-google-cloud-dataflow-java/4632/testReport/junit/org.apache.beam.sdk.io/BoundedReadFromUnboundedSourceTest/testDedup/
> https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/org.apache.beam$beam-runners-google-cloud-dataflow-java/4636/testReport/junit/org.apache.beam.sdk.transforms/ViewTest/testEmptyMultimapSideInput/
> We should retry this check as well.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)