Ben Chambers created BEAM-2406:
----------------------------------

             Summary: NullPointerException when writing an empty table to 
BigQuery
                 Key: BEAM-2406
                 URL: https://issues.apache.org/jira/browse/BEAM-2406
             Project: Beam
          Issue Type: Bug
          Components: sdk-java-gcp
    Affects Versions: 2.0.0
            Reporter: Ben Chambers
            Assignee: Reuven Lax
            Priority: Minor


Originally reported on Stackoverflow:
https://stackoverflow.com/questions/44314030/handling-empty-pcollections-with-bigquery-in-apache-beam

It looks like if there is no data to write, then WritePartitions will return a 
null destination, as explicitly stated in the comments:

https://github.com/apache/beam/blob/v2.0.0/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/WritePartition.java#L126

But, the ConstantTableDestination doesn't turn that into the constant 
destination as the comment promises, instead it returns that `null` destination:

https://github.com/apache/beam/blob/53c9bf4cd325035fabde192c63652ef6d591b93c/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/DynamicDestinationsHelpers.java#L74

This leads to a null pointer error here since the `tableDestination` is that 
null result from calling `getTable`:

https://github.com/apache/beam/blob/v2.0.0/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/WriteTables.java#L97



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to