From a4a8ddca564561a1257948cd7887e55a79b79333 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Wed, 15 Apr 2026 14:04:16 -0400 Subject: [PATCH] fix: expose max attempt Change-Id: I227333d3bbf5ceef0ac3b7ccc71c4d59be042c17 --- .../java/com/google/cloud/bigtable/beam/TemplateUtils.java | 4 ++++ .../google/cloud/bigtable/beam/sequencefiles/ExportJob.java | 6 ++++++ 2 files changed, 10 insertions(+) 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) {