对1.3亿行进行大表扫描会引发java.lang.IllegalStateException:未启动

时间:2018-12-07 09:36:06

标签: google-cloud-platform google-cloud-bigtable hbase-client

尝试使用HBase Java客户端扫描有1.3亿行的Bigtable。扫描几个小时后,它抛出:

INFO com.google.cloud.bigtable.grpc.async.AbstractRetryingOperation - Retrying failed call. Failure #1, got: Status{code=DEADLINE_EXCEEDED, description=Error while reading table '', cause=null} on channel 5.

有一些此类异常可以重试,但最终导致:

java.lang.IllegalStateException: Not started
    at com.google.common.base.Preconditions.checkState(Preconditions.java:507)
    at io.grpc.internal.ClientCallImpl.request(ClientCallImpl.java:367)
    at io.grpc.PartialForwardingClientCall.request(PartialForwardingClientCall.java:34)
    at io.grpc.ForwardingClientCall.request(ForwardingClientCall.java:22)
    at io.grpc.ForwardingClientCall$SimpleForwardingClientCall.request(ForwardingClientCall.java:44)
    at io.grpc.PartialForwardingClientCall.request(PartialForwardingClientCall.java:34)
    at io.grpc.ForwardingClientCall.request(ForwardingClientCall.java:22)
    at io.grpc.ForwardingClientCall$SimpleForwardingClientCall.request(ForwardingClientCall.java:44)
    at io.grpc.PartialForwardingClientCall.request(PartialForwardingClientCall.java:34)
    at io.grpc.ForwardingClientCall.request(ForwardingClientCall.java:22)
    at com.google.cloud.bigtable.grpc.io.RefreshingOAuth2CredentialsInterceptor$1.request(RefreshingOAuth2CredentialsInterceptor.java:146)
    at io.grpc.PartialForwardingClientCall.request(PartialForwardingClientCall.java:34)
    at io.grpc.ForwardingClientCall.request(ForwardingClientCall.java:22)
    at io.grpc.ForwardingClientCall$SimpleForwardingClientCall.request(ForwardingClientCall.java:44)
    at com.google.cloud.bigtable.grpc.io.Watchdog$WatchedCall.request(Watchdog.java:198)
    at io.grpc.PartialForwardingClientCall.request(PartialForwardingClientCall.java:34)
    at io.grpc.ForwardingClientCall.request(ForwardingClientCall.java:22)
    at com.google.cloud.bigtable.grpc.scanner.RetryingReadRowsOperation$CallToStreamObserverAdapter.request(RetryingReadRowsOperation.java:90)
    at com.google.cloud.bigtable.grpc.scanner.ResponseQueueReader.getNextMergedRow(ResponseQueueReader.java:109)
    at com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:78)
    at com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:35)
    at com.google.cloud.bigtable.hbase.adapters.read.BigtableResultScannerAdapter$1.next(BigtableResultScannerAdapter.java:66)
    at org.apache.hadoop.hbase.client.ResultScanner$1.hasNext(ResultScanner.java:53)

1 个答案:

答案 0 :(得分:0)

快速更新:这两个问题均已在1.9.0版中修复