google-ads-java icon indicating copy to clipboard operation
google-ads-java copied to clipboard

Support latest version of `grpc` (1.44.1)

Open martyla opened this issue 3 years ago • 1 comments

Describe the problem you are trying to solve:

Currently the library uses grpc version 1.41.0

The latest grpc-api version 1.44.1 fails when instantiating the service client:

Caused by: java.lang.NoClassDefFoundError: io/grpc/CallCredentials2
 java.base/java.lang.ClassLoader.defineClass1(Native Method)
 java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
 java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
 java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821)
 java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719)
 java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600)
 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
 com.google.api.gax.grpc.GrpcCallContext.withCredentials(GrpcCallContext.java:160)
 com.google.api.gax.grpc.GrpcCallContext.withCredentials(GrpcCallContext.java:67)
 com.google.api.gax.rpc.ClientContext.create(ClientContext.java:210)
 com.google.ads.googleads.v10.services.stub.GrpcGoogleAdsServiceStub.create(GrpcGoogleAdsServiceStub.java:96)
 com.google.ads.googleads.v10.services.stub.GoogleAdsServiceStubSettings.createStub(GoogleAdsServiceStubSettings.java:185)
 com.google.ads.googleads.v10.services.GoogleAdsServiceClient.<init>(GoogleAdsServiceClient.java:137)
 com.google.ads.googleads.v10.services.GoogleAdsServiceClient.create(GoogleAdsServiceClient.java:118)
 com.google.ads.googleads.lib.catalog.GeneratedCatalog$V10Client.createGoogleAdsServiceClient(GeneratedCatalog.java:5771)

Describe the solution you'd like:

Update grpc to the latest version 1.44.1

Describe alternatives you've considered:

Currently have pinned grpc to 1.41.0 which is working for now. Also aware that the shaded jar can be used

martyla avatar Mar 06 '22 23:03 martyla

Hi,

I'll look into upgrading the library's requirements in an upcoming release. However, if you are personally trying to upgrade within your project, there's a long list of dependencies that go together in the gRPC/protobuf space, so upgrading just one or two is often problematic. For example, in release v2.8.0 of shared dependencies, in addition to upgrading io.grpc to v1.44.1, they also upgraded gax-java to v2.12.2. Could you try doing the same in your project to see if that resolves the issue?

Thanks, Josh

jradcliff avatar Mar 07 '22 16:03 jradcliff

Closing since there have been several gRPC updates since this was opened.

jradcliff avatar Mar 22 '23 14:03 jradcliff