This is an automated email from the ASF dual-hosted git repository.
ahmedabualsaud pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new bb4b633b019 Fix BigQueryStorageWriteApiSchemaTransformProvider null
pointer on numStreams (#29434)
bb4b633b019 is described below
commit bb4b633b01970d46359637d58a296b532269b18e
Author: Jeff Kinard <[email protected]>
AuthorDate: Tue Nov 21 10:38:36 2023 -0500
Fix BigQueryStorageWriteApiSchemaTransformProvider null pointer on
numStreams (#29434)
* Fix BigQueryStorageWriteApiSchemaTransformProvider null pointer on
numStreams
Signed-off-by: Jeffrey Kinard <[email protected]>
---
.../BigQueryStorageWriteApiSchemaTransformProvider.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/providers/BigQueryStorageWriteApiSchemaTransformProvider.java
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/providers/BigQueryStorageWriteApiSchemaTransformProvider.java
index 1b9eb309ec4..39e6fd7c809 100644
---
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/providers/BigQueryStorageWriteApiSchemaTransformProvider.java
+++
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/providers/BigQueryStorageWriteApiSchemaTransformProvider.java
@@ -177,7 +177,9 @@ public class BigQueryStorageWriteApiSchemaTransformProvider
invalidConfigMessage + "Output must not be empty if error handling
specified.");
}
- if (this.getAutoSharding() != null && this.getAutoSharding()) {
+ if (this.getAutoSharding() != null
+ && this.getAutoSharding()
+ && this.getNumStreams() != null) {
checkArgument(
this.getNumStreams() == 0,
invalidConfigMessage
@@ -338,7 +340,8 @@ public class BigQueryStorageWriteApiSchemaTransformProvider
Boolean autoSharding = configuration.getAutoSharding();
Integer numStreams = configuration.getNumStreams();
// Triggering frequency is only applicable for exactly-once
- if (!configuration.getUseAtLeastOnceSemantics()) {
+ if (configuration.getUseAtLeastOnceSemantics() == null
+ || !configuration.getUseAtLeastOnceSemantics()) {
write =
write.withTriggeringFrequency(
(triggeringFrequency == null || triggeringFrequency <= 0)
@@ -346,7 +349,7 @@ public class BigQueryStorageWriteApiSchemaTransformProvider
: Duration.standardSeconds(triggeringFrequency));
}
// set num streams if specified, otherwise default to autoSharding
- if (numStreams > 0) {
+ if (numStreams != null && numStreams > 0) {
write = write.withNumStorageWriteApiStreams(numStreams);
} else if (autoSharding == null || autoSharding) {
write = write.withAutoSharding();