diff --git a/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/TemplateUtils.java b/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/TemplateUtils.java index 53f79ae2b6..216f4fd514 100644 --- a/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/TemplateUtils.java +++ b/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/TemplateUtils.java @@ -106,6 +106,10 @@ public static CloudBigtableScanConfiguration buildExportConfig(ExportOptions opt BigtableOptionsFactory.BIGTABLE_READ_RPC_ATTEMPT_TIMEOUT_MS_KEY, options.getBigtableReadRpcAttemptTimeoutMs()); } + if (options.getBigtableMaxAttempts() != null) { + configBuilder.withConfiguration( + BigtableOptionsFactory.MAX_SCAN_TIMEOUT_RETRIES, options.getBigtableMaxAttempts()); + } return configBuilder.build(); } } diff --git a/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/sequencefiles/ExportJob.java b/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/sequencefiles/ExportJob.java index b70eef5c7d..ce17b5208a 100644 --- a/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/sequencefiles/ExportJob.java +++ b/bigtable-dataflow-parent/bigtable-beam-import/src/main/java/com/google/cloud/bigtable/beam/sequencefiles/ExportJob.java @@ -191,6 +191,12 @@ public interface ExportOptions extends GcpOptions, GcsOptions { @SuppressWarnings("unused") void setBigtableReadRpcAttemptTimeoutMs(ValueProvider readRpcAttemptTimeoutMs); + + @Description("The maximum number of retry attempts for the Bigtable client.") + ValueProvider getBigtableMaxAttempts(); + + @SuppressWarnings("unused") + void setBigtableMaxAttempts(ValueProvider maxAttempts); } public static void main(String[] args) {