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();

Reply via email to