[
https://issues.apache.org/jira/browse/BEAM-5614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16636321#comment-16636321
]
Udi Meiri commented on BEAM-5614:
---------------------------------
Full output:
WARNING: Your application has authenticated using end user credentials from
Google Cloud SDK. We recommend that most server applications use service
accounts instead. If your application continues to use end user credentials
from Cloud SDK, you might receive a "quota exceeded" or
"API not enabled" error. For more information about service accounts, see
https://cloud.google.com/docs/authentication/.
Exception in thread "main" 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:224)
at
org.apache.beam.sdk.util.InstanceBuilder.build(InstanceBuilder.java:155)
at
org.apache.beam.sdk.PipelineRunner.fromOptions(PipelineRunner.java:55)
at org.apache.beam.sdk.Pipeline.create(Pipeline.java:145)
at org.apache.beam.examples.WordCount.runWordCount(WordCount.java:176)
at org.apache.beam.examples.WordCount.main(WordCount.java:192)
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:214)
... 5 more
Caused by: java.lang.IllegalArgumentException: DataflowRunner requires
gcpTempLocation, but failed to retrieve a value from PipelineOptions
at
org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:243)
... 10 more
Caused by: java.lang.IllegalArgumentException: Error constructing default value
for gcpTempLocation: tempLocation is not a valid GCS path,
gs://XXXXXXX/staging/.
at
org.apache.beam.sdk.extensions.gcp.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:255)
at
org.apache.beam.sdk.extensions.gcp.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:232)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.returnDefaultHelper(ProxyInvocationHandler.java:592)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.getDefault(ProxyInvocationHandler.java:533)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:158)
at com.sun.proxy.$Proxy15.getGcpTempLocation(Unknown Source)
at
org.apache.beam.runners.dataflow.DataflowRunner.fromOptions(DataflowRunner.java:241)
... 10 more
Caused by: java.lang.RuntimeException: Unable to verify that GCS bucket
gs://XXXXXXX exists.
at
org.apache.beam.sdk.extensions.gcp.storage.GcsPathValidator.verifyPathIsAccessible(GcsPathValidator.java:86)
at
org.apache.beam.sdk.extensions.gcp.storage.GcsPathValidator.validateOutputFilePrefixSupported(GcsPathValidator.java:53)
at
org.apache.beam.sdk.extensions.gcp.options.GcpOptions$GcpTempLocationFactory.create(GcpOptions.java:252)
... 16 more
Caused by: com.google.api.client.http.HttpResponseException: 400 Bad Request
{
"error" : "invalid_grant",
"error_description" : "Bad Request"
}
at
com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1072)
at
com.google.auth.oauth2.UserCredentials.refreshAccessToken(UserCredentials.java:227)
at
com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:179)
at
com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:165)
at
com.google.auth.http.HttpCredentialsAdapter.initialize(HttpCredentialsAdapter.java:96)
at
com.google.cloud.hadoop.util.ChainingHttpRequestInitializer.initialize(ChainingHttpRequestInitializer.java:52)
at
com.google.api.client.http.HttpRequestFactory.buildRequest(HttpRequestFactory.java:93)
at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:300)
at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at
com.google.cloud.hadoop.util.ResilientOperation$AbstractGoogleClientRequestExecutor.call(ResilientOperation.java:163)
at
com.google.cloud.hadoop.util.ResilientOperation.retry(ResilientOperation.java:64)
at org.apache.beam.sdk.util.GcsUtil.getBucket(GcsUtil.java:474)
at org.apache.beam.sdk.util.GcsUtil.bucketAccessible(GcsUtil.java:461)
at org.apache.beam.sdk.util.GcsUtil.bucketAccessible(GcsUtil.java:434)
at
org.apache.beam.sdk.extensions.gcp.storage.GcsPathValidator.verifyPathIsAccessible(GcsPathValidator.java:83)
... 18 more
> Using gs:// paths without first doing a "gcloud auth" gives an unhelpful
> error message
> --------------------------------------------------------------------------------------
>
> Key: BEAM-5614
> URL: https://issues.apache.org/jira/browse/BEAM-5614
> Project: Beam
> Issue Type: Bug
> Components: io-java-gcp
> Reporter: Udi Meiri
> Assignee: Chamikara Jayalath
> Priority: Major
>
> Users see an error like:
> java.lang.IllegalArgumentException: Error constructing default value for
> gcpTempLocation: tempLocation is not a valid GCS path, gs://bucket/path/.
> Also reported here:
> https://stackoverflow.com/questions/43026371/apache-beam-minimalwordcount-example-with-dataflow-runner-on-eclipse
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)