'Bigtable InstantiatingGrpcChannelProvider does not define or inherit an implementation of the resolved method

In JDK 11, the following code:

CredentialsProvider credentialsProvider = FixedCredentialsProvider.create(
      ServiceAccountCredentials.fromStream(new FileInputStream("my_sa.json")));
BigtableDataSettings settings =
   BigtableDataSettings.newBuilder().setProjectId("my-gcp-project")
      .setInstanceId("my-bt-instance")
      .setCredentialsProvider(credentialsProvider)
      .build();
BigtableDataClient btClient = BigtableDataClient.create(settings);

Results in

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.
    at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:157)
    at com.google.cloud.bigtable.data.v2.stub.EnhancedBigtableStub.create(EnhancedBigtableStub.java:120)
    at com.google.cloud.bigtable.data.v2.BigtableDataClient.create(BigtableDataClient.java:161)
    at com.paloaltonetworks.com.VNRTestService.MainVerticle.start(MainVerticle.java:35)
    at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$5(DeploymentManager.java:196)
    at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:100)
    at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:63)
    at io.vertx.core.impl.EventLoopContext.lambda$runOnContext$0(EventLoopContext.java:38)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:164)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:503)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

at java.base/java.lang.Thread.run(Thread.java:834)

My build.gradle dependencies:

dependencies {
  implementation(platform("io.vertx:vertx-stack-depchain:$vertxVersion"))
  implementation("io.vertx:vertx-core")
  implementation("io.vertx:vertx-web")
  testImplementation("io.vertx:vertx-junit5")
  testImplementation("org.junit.jupiter:junit-jupiter:$junitJupiterVersion")
  implementation("io.jsonwebtoken:jjwt:0.9.1")
  implementation ("org.slf4j:slf4j-api:1.7.30")
  implementation("commons-codec:commons-codec:1.15")
  // JAX-B dependencies for JDK 9+
  implementation("jakarta.xml.bind:jakarta.xml.bind-api:2.3.2")
  implementation("org.glassfish.jaxb:jaxb-runtime:2.3.2")
  implementation("com.google.cloud:google-cloud-bigtable:1.12.0")
  implementation("com.google.cloud:google-cloud-bigquery:1.127.6")
  implementation("com.google.cloud:google-cloud-core:1.94.3")
}


Solution 1:[1]

After creating a gradle project with the same dependencies (and using JDK 11), I also received this error. However, updating the google-cloud-bigtable package to its latest version (2.6.1) resolved the issue on my end.

implementation("com.google.cloud:google-cloud-bigtable:2.6.1")

Do you need that specific version you are currently using?

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1