You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Valentyn Tymofieiev (JIRA)" <ji...@apache.org> on 2017/04/14 01:21:42 UTC

[jira] [Assigned] (BEAM-1973) Improve error message for missing required Pipeline options in Datalflow runner for Java SDK

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

Valentyn Tymofieiev reassigned BEAM-1973:
-----------------------------------------

    Assignee: Valentyn Tymofieiev  (was: Davor Bonaci)

> Improve error message for missing required Pipeline options in Datalflow runner for Java SDK
> --------------------------------------------------------------------------------------------
>
>                 Key: BEAM-1973
>                 URL: https://issues.apache.org/jira/browse/BEAM-1973
>             Project: Beam
>          Issue Type: Improvement
>          Components: runner-dataflow
>            Reporter: Valentyn Tymofieiev
>            Assignee: Valentyn Tymofieiev
>            Priority: Minor
>
> Here is an example error message when we fail to set GCP project ID:
> Caused by: java.lang.IllegalArgumentException: Missing required value for [public abstract java.lang.String org.apache.beam.runners.dataflow.options.DataflowPipelineOptions.getProject(), "Project id. Required when running a Dataflow in the cloud. See https://cloud.google.com/storage/docs/projects for further details."].
> We should make the error message more actionable by suggesting a command line parameter that sets the pipeline option or pointing to relevant programmatic API that sets it.
> Full error message:
> java.lang.reflect.InvocationTargetException
>         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.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.RuntimeException: Failed to construct instance from factory method DataflowRunner#fromOptions(interface org.apache.beam.sdk.options.PipelineOptions)
>         at org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:233)
>         at org.apache.beam.sdk.util.InstanceBuilder.build(InstanceBuilder.java:162)
>         at org.apache.beam.sdk.runners.PipelineRunner.fromOptions(PipelineRunner.java:56)
>         at org.apache.beam.sdk.Pipeline.create(Pipeline.java:135)
>         at org.apache.beam.examples.WordCount.main(WordCount.java:175)
>         ... 6 more
> Caused by: java.lang.reflect.InvocationTargetException
>         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.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:222)
>         ... 10 more
> Caused by: java.lang.IllegalArgumentException: Missing required value for [public abstract java.lang.String org.apache.beam.runners.dataflow.options.DataflowPipelineOptions.getProject(), "Project id. Required when running a Dataflow in the cloud. See https://cloud.google.com/storage/docs/projects for further details."].
>         at org.apache.beam.sdk.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:383)
>         at org.apache.beam.sdk.options.PipelineOptionsValidator.validate(PipelineOptionsValidator.java:70)
>         at org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:196)
>         ... 15 more



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)