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)