对于问题1,我相信google.bigtable.mutate.rpc.timeout.ms
[我们有一个基于Java的数据流管道,经过一些处理后,它将从Bigtable读取数据,并将其写回到Bigtable。我们将CloudBigtableIO用于这些目的。
我正在努力解决CloudBigtableIO中的故障处理问题。我还没有找到有关CloudBigtableIO内部和外部如何处理错误的任何参考/文档。
CloudBigtableIO在BigtableOptionsFactory中有一堆选项,用于指定超时,要重试的grpc代码,重试限制。
google.bigtable.grpc.retry.max.scan.timeout.retries-这是扫描操作的重试限制,还是也包括突变操作?如果这仅用于扫描,则对Mutation操作进行了多少次重试?它是可配置的吗?google.bigtable.grpc.retry.codes-这些代码是否对扫描和Mutate操作都启用重试?
定制选项将仅允许重试,在某些情况下,CloudBigtableIO会读取部分数据而不是请求的内容,但不会使管道失败吗?
当变异几百万条记录时,我认为我们可能会得到超出重试限制的错误,这种变异会发生什么?他们会失败吗?我们如何处理它们? BigQueryIO具有收集故障并提供通过侧面输出检索故障的方法的原因,为什么CloudBigtableIO没有此类功能?
[在写入突变时,我们有时会出现DEADLINE_EXCEEDED错误,但日志尚不清楚突变是重试且成功还是Retries已用尽,我确实看到RetriesExhaustedWithDetailsException,但如果我们无法处理失败,那是没有用的
如果将前面的步骤和CloudBigtableIO写操作融合在一起,是否会将这些故障抛回到数据流管道中的前面的步骤?启用批量突变后,如何将故障抛回到先前的步骤尚不清楚。
[我们有一个基于Java的数据流管道,经过一些处理后,它将从Bigtable读取数据,并将其写回到Bigtable。我们将CloudBigtableIO用于这些目的。我正在尝试把头缠起来...
对于问题1,我相信google.bigtable.mutate.rpc.timeout.ms
DEADLINE_EXCEEDED
,UNAVAILABLE
,ABORTED
和UNAUTHENTICATED
)您可以在此处看到为突变超时设置配置的示例:https://github.com/googleapis/java-bigtable-hbase/blob/master/bigtable-client-core-parent/bigtable-hbase/src/test/java/com/google/cloud/bigtable/hbase/TestBigtableOptionsFactory.java#L169
对于问题1,我相信google.bigtable.mutate.rpc.timeout.ms