複数のサブフィルターを含む複雑なフィルター (FilterList) を作成しました。次の理由により、そのフィルタを使用したクエリを実行できませんでした
StatusRuntimeException INVALID_ARGUMENT: Row filter exceeds maximum size of 4096 bytes.
Cloud Bigtable の割り当てとサービス制限を確認しました。
- https://cloud.google.com/bigtable/docs/schema-design#size-limits
- https://cloud.google.com/bigtable/quota
言及された制限を定義するドキュメントはありません。もチェックBigtableOptionsFactory
しましたが、その制限を変更するオプションはありませんでした。どうすればその制限を回避できますか?
スタックトレース:
java.lang.RuntimeException: com.google.cloud.bigtable.grpc.io.IOExceptionWithStatus: Error in response stream
at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:97)
at com.purato.common.dao.hbase.HbaseQuery.execute(HbaseQuery.java:82)
Caused by: com.google.cloud.bigtable.grpc.io.IOExceptionWithStatus: Error in response stream
at com.google.cloud.bigtable.grpc.scanner.ResultQueueEntry.getResponseOrThrow(ResultQueueEntry.java:67)
at com.google.cloud.bigtable.grpc.scanner.ResponseQueueReader.getNextMergedRow(ResponseQueueReader.java:71)
at com.google.cloud.bigtable.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:64)
at com.google.cloud.bigtable.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:28)
at com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:93)
at com.google.cloud.bigtable.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:40)
at com.google.cloud.bigtable.hbase.adapters.BigtableResultScannerAdapter$1.next(BigtableResultScannerAdapter.java:43)
at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:94)
... 39 more
Caused by: com.google.bigtable.repackaged.io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Row filter exceeds maximum size of 4096 bytes
at com.google.bigtable.repackaged.io.grpc.Status.asRuntimeException(Status.java:431)
at com.google.cloud.bigtable.grpc.BigtableDataGrpcClient$5.onClose(BigtableDataGrpcClient.java:308)
at com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:453)
at com.google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54)
at com.google.bigtable.repackaged.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154)
... 3 more