Support latest version of `grpc` (1.44.1)
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
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
Closing since there have been several gRPC updates since this was opened.