java.lang.AbstractMethodError: Receiver class com.google.api.gax.grpc.InstantiatingGrpcChannelProvider does not define or inherit an implementation of the resolved method 'abstract com.google.api.gax.rpc.TransportChannelProvider withExecutor(java.util.concurrent.Executor)' of interface com.google.api.gax.rpc.TransportChannelProvider.
See original GitHub issueUsing com.google.firebase:firebase-admin:6.14.0
in a simple app fetching a single document by ID in Firestore, I am getting the following runtime exception:
Caused by: java.lang.AbstractMethodError: Receiver class com.google.api.gax.grpc.InstantiatingGrpcChannelProvider does not define or inherit an implementation of the resolved method ‘abstract com.google.api.gax.rpc.TransportChannelProvider withExecutor(java.util.concurrent.Executor)’ of interface com.google.api.gax.rpc.TransportChannelProvider.
I authenticated using end-user credentials from Google Cloud SDK. There is no Firebase or Google dependency other than firebase-admin
. My OS is Fedora 32.
It seems the problem comes from the version of gax-grpc
that is retrieved by firebase-admin
since forcing Gradle to use the latest version resolves the problem:
implementation 'com.google.api:gax-grpc:1.57.0'
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:13 (5 by maintainers)
Top GitHub Comments
@lpellegr I spoke with some colleagues today and have some more detail for you.
Since your app has a direct dependency on
google-cloud-core
the recommendation from the GCP Java OSS team is to try using thelibraries-bom
for version resolution. This provides the benefit that a release of libraries-bom ensures all dependencies defined in it are binary compatible across the full dependency graph for all of the included projects (including grpc, guava, google-cloud-* and more. See The Google Cloud Platform Libraries BOM for links to all libraries) client libraries.The version of libraries-bom which corresponds with the versions of google-cloud-firestore and google-cloud-storage used by firebase-admin is
6.0.0
.You can try out using the bom in your gradle project by updating your config as follows:
@hiranya911 Do you think it would probably be beneficial to update firestore-admin to itself use libraries-bom. Does this sounds like a good idea to you? Should I create a new issue?
@BenWhitehead Thanks for the clear explanation and help.