Created https://issues.apache.org/jira/browse/BEAM-3321 to update 
the gax-grpc dependency of Beam.

- Cham

On Friday, December 8, 2017 at 6:12:20 PM UTC-8, Harsh Vardhan wrote:
>
> +chamikara@
>
> On Friday, December 8, 2017 at 1:31:00 AM UTC-8, Joshua Fox wrote:
>>
>> I use Cloud Datastore API to check for Kinds in the Datastore, then  use 
>> Dataflow -- now upgrading to Beam -- to copy one Datastore to another..
>>
>> After adding beam-sdks-java-io-google-cloud-platform to my pom, I start 
>> getting this when initializing the Cloud Datastore API
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError: 
>> com/google/api/gax/retrying/ResultRetryAlgorithm
>> at 
>> com.google.cloud.datastore.DatastoreOptions$DefaultDatastoreFactory.create(DatastoreOptions.java:51)
>> at 
>> com.google.cloud.datastore.DatastoreOptions$DefaultDatastoreFactory.create(DatastoreOptions.java:45)
>> at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:426)
>>
>> It is caused by  gax dependencies.
>>
>> Specifically, before I add beam-sdks-java-io-google-cloud-platform there 
>> is this  gax dependency 
>>
>> +- com.google.cloud:google-cloud-datastore:jar:1.12.0:compile
>> |  +- com.google.cloud:google-cloud-core:jar:1.12.0:compile
>> |  |  +- com.google.api:gax:jar:1.15.0:compile
>>
>>
>>
>> and after I add  it there is this
>>
>> +- 
>> org.apache.beam:beam-sdks-java-io-google-cloud-platform:jar:2.2.0:compile
>> |  +- com.google.api:gax-grpc:jar:0.20.0:compile
>> |  |  +- com.google.api:gax:jar:1.3.1:compile
>>
>>
>> If I add gax 1.15.0 to my pom explicitly, I get
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError: 
>> com/google/api/gax/retrying/ExceptionRetryAlgorithm
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> .. 
>> at com.google.cloud.BaseService.<clinit>(BaseService.java:48)
>> at 
>> com.google.cloud.datastore.DatastoreOptions$DefaultDatastoreFactory.create(DatastoreOptions.java:51)
>> at 
>> com.google.cloud.datastore.DatastoreOptions$DefaultDatastoreFactory.create(DatastoreOptions.java:45)
>> at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:426)
>>
>> Clearly Datastore and Beam should work together. Yet there have been 
>> dependency problems between the two for  a while. See this discussion 
>> <https://stackoverflow.com/questions/40830727/> from 1 year ago.
>>
>> How can I resolve this?
>>
>

Reply via email to