[
https://issues.apache.org/jira/browse/BEAM-1097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15726917#comment-15726917
]
ASF GitHub Bot commented on BEAM-1097:
--
GitHub user swegner opened a pull request:
https://github.com/apache/incubator-beam/pull/1522
[BEAM-1097] Provide a better error message for non-existing gcpTempLocation
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:
- [ ] Make sure the PR title is formatted like:
`[BEAM-] Description of pull request`
- [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
- [ ] Replace `` in the title with the actual Jira issue
number, if there is one.
- [ ] If this contribution is large, please file an Apache
[Individual Contributor License
Agreement](https://www.apache.org/licenses/icla.txt).
---
gcpTempLocation will default to using the value for tmpLocation, as long
as the value is a valid GCP path. Non-valid GCP paths are silently
discarded.
This change removes existence validation from the default value logic
such that downstream validation can provide a better error message.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/swegner/incubator-beam gcp-temp-location-error
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-beam/pull/1522.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1522
commit 9d768df4323a246baa705fd5fb75d08c78abb7f0
Author: Scott Wegner
Date: 2016-12-06T22:19:12Z
Provide a better error message for non-existing gcpTempLocation
gcpTempLocation will default to using the value for tmpLocation, as long
as the value is a valid GCP path. Non-valid GCP paths are silently
discarded.
This change removes existence validation from the default value logic
such that downstream validation can provide a better error message.
> Dataflow error message for non-existing gcpTempLocation is misleading
> -
>
> Key: BEAM-1097
> URL: https://issues.apache.org/jira/browse/BEAM-1097
> Project: Beam
> Issue Type: Bug
> Components: examples-java, runner-dataflow
>Reporter: Scott Wegner
>Assignee: Scott Wegner
>Priority: Minor
>
> The error message for specifying a GCP tempLocation which doesn't exist is
> misleading. Rather than mentioning the given path doesn't exist, it says none
> ways specified.
> This is particularly frustrating because it's one of the few configuration
> values necessary to get started with an example or starter archetype, and
> it's easy to introduce a typo as it's specified on the commandline. In my
> case, I was specifying "gs://swegner-tmp" instead of "gs://swegner-test".
> Repro:
> 1. Clone the starter archetype: {noformat}mvn archetype:generate
> -DarchetypeGroupId=org.apache.beam
> -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-starter{noformat}
> 2. Add beam-runners-google-cloud-dataflow-java as a dependency in the
> generated pom.xml
> 3. Build: {noformat}mvn install{noformat}
> 4. Run: {noformat}mvn exec:java -DmainClass=swegner.StarterPipeline
> -Dexec.args="--runner=DataflowRunner
> --tempLocation=gs://swegner-tmp"{noformat}
> Expected: An error message along the lines of: "The specified GCP temp
> location 'gs://swegner-tmp' does not exist under project 'myGcpProject'"
> bq. [ERROR] Failed to execute goal
> org.codehaus.mojo:exec-maven-plugin:1.4.0:java (default-cli) on project
> counter-names-test: An exception occured while executing the Java class.
> null: InvocationTargetException: Failed to construct instance from factory
> method DataflowRunner#fromOptions(interface
> org.apache.beam.sdk.options.PipelineOptions): DataflowRunner requires
> gcpTempLocation, and it is missing in PipelineOptions. -> [Help 1]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)