From c6e18020f983fc41ce919b6fe540bb2002117797 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Thu, 19 Feb 2026 13:57:41 -0500 Subject: [PATCH 1/2] fix: fix ExportJob timeout options --- .../cloud/bigtable/beam/TemplateUtils.java | 25 +++++-------------- .../beam/sequencefiles/ExportJob.java | 2 ++ 2 files changed, 8 insertions(+), 19 deletions(-) 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 b1c4587f05..340c45cdfa 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 @@ -97,27 +97,14 @@ public static CloudBigtableScanConfiguration buildExportConfig(ExportOptions opt options.getBigtableMaxVersions(), options.getBigtableFilter())); if (options.getBigtableReadRpcTimeoutMs() != null) { - ValueProvider.NestedValueProvider.of( - options.getBigtableReadRpcTimeoutMs(), - (Integer timeout) -> { - if (timeout != null) { - configBuilder.withConfiguration( - BigtableOptionsFactory.BIGTABLE_READ_RPC_TIMEOUT_MS_KEY, String.valueOf(timeout)); - } - return null; - }); + configBuilder.withConfiguration( + BigtableOptionsFactory.BIGTABLE_READ_RPC_TIMEOUT_MS_KEY, + String.valueOf(options.getBigtableReadRpcTimeoutMs())); } if (options.getBigtableReadRpcAttemptTimeoutMs() != null) { - ValueProvider.NestedValueProvider.of( - options.getBigtableReadRpcAttemptTimeoutMs(), - (Integer timeout) -> { - if (timeout != null) { - configBuilder.withConfiguration( - BigtableOptionsFactory.BIGTABLE_READ_RPC_ATTEMPT_TIMEOUT_MS_KEY, - String.valueOf(timeout)); - } - return null; - }); + configBuilder.withConfiguration( + BigtableOptionsFactory.BIGTABLE_READ_RPC_ATTEMPT_TIMEOUT_MS_KEY, + String.valueOf(options.getBigtableReadRpcAttemptTimeoutMs())); } 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 ba7001703b..14cacb640b 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 @@ -181,12 +181,14 @@ public interface ExportOptions extends GcpOptions, GcsOptions { void setRetryIdleTimeout(boolean retryIdleTimeout); @Description("Read RPC timeout in milliseconds.") + @Default.Integer(43200000) // 12 hours ValueProvider getBigtableReadRpcTimeoutMs(); @SuppressWarnings("unused") void setBigtableReadRpcTimeoutMs(ValueProvider readRpcTimeoutMs); @Description("Read RPC attempt timeout in milliseconds.") + @Default.Integer(600000) // 10 minutes ValueProvider getBigtableReadRpcAttemptTimeoutMs(); @SuppressWarnings("unused") From d84eb5d63233ba07c1f50e97c60116511899083b Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Thu, 19 Feb 2026 14:13:43 -0500 Subject: [PATCH 2/2] fix --- .../com/google/cloud/bigtable/beam/TemplateUtils.java | 4 ++-- .../cloud/bigtable/beam/sequencefiles/ExportJob.java | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) 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 340c45cdfa..53f79ae2b6 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 @@ -99,12 +99,12 @@ public static CloudBigtableScanConfiguration buildExportConfig(ExportOptions opt if (options.getBigtableReadRpcTimeoutMs() != null) { configBuilder.withConfiguration( BigtableOptionsFactory.BIGTABLE_READ_RPC_TIMEOUT_MS_KEY, - String.valueOf(options.getBigtableReadRpcTimeoutMs())); + options.getBigtableReadRpcTimeoutMs()); } if (options.getBigtableReadRpcAttemptTimeoutMs() != null) { configBuilder.withConfiguration( BigtableOptionsFactory.BIGTABLE_READ_RPC_ATTEMPT_TIMEOUT_MS_KEY, - String.valueOf(options.getBigtableReadRpcAttemptTimeoutMs())); + options.getBigtableReadRpcAttemptTimeoutMs()); } 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 14cacb640b..b70eef5c7d 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 @@ -181,18 +181,16 @@ public interface ExportOptions extends GcpOptions, GcsOptions { void setRetryIdleTimeout(boolean retryIdleTimeout); @Description("Read RPC timeout in milliseconds.") - @Default.Integer(43200000) // 12 hours - ValueProvider getBigtableReadRpcTimeoutMs(); + ValueProvider getBigtableReadRpcTimeoutMs(); @SuppressWarnings("unused") - void setBigtableReadRpcTimeoutMs(ValueProvider readRpcTimeoutMs); + void setBigtableReadRpcTimeoutMs(ValueProvider readRpcTimeoutMs); @Description("Read RPC attempt timeout in milliseconds.") - @Default.Integer(600000) // 10 minutes - ValueProvider getBigtableReadRpcAttemptTimeoutMs(); + ValueProvider getBigtableReadRpcAttemptTimeoutMs(); @SuppressWarnings("unused") - void setBigtableReadRpcAttemptTimeoutMs(ValueProvider readRpcAttemptTimeoutMs); + void setBigtableReadRpcAttemptTimeoutMs(ValueProvider readRpcAttemptTimeoutMs); } public static void main(String[] args) {