beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Valentyn Tymofieiev (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (BEAM-1973) Improve error message for missing required Pipeline options in Datalflow runner for Java SDK
Date Fri, 14 Apr 2017 01:21:42 GMT

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

Mime
View raw message