首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCP Bigtable客户端与Vert.X阻塞

GCP Bigtable客户端与Vert.X阻塞
EN

Stack Overflow用户
提问于 2022-11-22 10:43:07
回答 1查看 26关注 0票数 0

我正在使用GCP提供的Vert.X和Bigtable客户端库。查询数据的调用是从工作池/executeBlocking发出的。但是,我收到的AsyncResult是null,经过一段时间后,警告日志就会被打印出来,因为工作线程被阻塞太久了。

等级依赖性:

代码语言:javascript
复制
object Versions {
  const val protobuf = "3.20.1"
  const val bigtable = "2.5.3"
}

dependencies {
  apply(plugin = "io.freefair.lombok")

  implementation("com.google.protobuf", "protobuf-java", Versions.protobuf)
  implementation("com.google.cloud", "google-cloud-bigtable", Versions.bigtable)
// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
  implementation("com.fasterxml.jackson.core:jackson-databind:2.14.0")
  compileOnly("org.projectlombok:lombok")
  annotationProcessor("org.projectlombok:lombok")
  implementation(platform("io.vertx:vertx-stack-depchain:$vertxVersion"))
  implementation("org.slf4j:slf4j-api:1.7.+")
  implementation("ch.qos.logback:logback-classic:1.2.+")
  implementation("io.vertx:vertx-config")
  implementation("io.vertx:vertx-web")
  implementation("io.vertx:vertx-micrometer-metrics")
  implementation("io.vertx:vertx-opentracing")
  testImplementation("io.vertx:vertx-junit5")
  testImplementation("org.junit.jupiter:junit-jupiter:$junitJupiterVersion")
}

Bigtable API调用:

代码语言:javascript
复制
vertx.<Row>executeBlocking(t->{
      var row=dataClient.readRow(TABLE_ID,"1234#DATA");
      t.complete(row);
    }).onComplete(r->{
      log.info("Result"+r.result());
    });

下面是日志: 11:36:46.376 vert.x工作者线程-1 INFO StateRepository - StateRepository正在部署

11:36:46.379 vert.x工作者-线程-1 INFO StateRepository - Resultnull

我认为Bigtable客户端在内部创建一个执行器来处理连接,而不是使用初始化它的工作线程池。但这可能完全是另一回事

EN

回答 1

Stack Overflow用户

发布于 2022-11-22 16:31:38

该块是由于bigtable客户端在正常垂直方向上创建的,在进行调用时会阻塞事件循环。将客户端的实例化垂直移动到工人解决了这个问题。

在这里,工作人员垂直应该管理任何阻塞的第三方库的生命周期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74531305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档