Sergei Lilichenko created BEAM-13612:
----------------------------------------

             Summary: When BigqueryIO's STORAGE_API_AT_LEAST_ONCE method is 
used and the table spec doesn't contain the project id the pipeline fails 
                 Key: BEAM-13612
                 URL: https://issues.apache.org/jira/browse/BEAM-13612
             Project: Beam
          Issue Type: Bug
          Components: io-java-gcp
    Affects Versions: 2.35.0
            Reporter: Sergei Lilichenko


The validation method correctly uses BigqueryIO's

getTableWithDefaultProject(BigQueryOptions bqOptions), but at the run time the 
table spec is not checked for absence of the project id, resulting in 
RuntimeException.

 

 

Stack trace:

Caused by: java.lang.NullPointerException: Required parameter projectId must be 
specified.
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:897)
    at 
com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:138)
    at 
com.google.api.services.bigquery.Bigquery$Tables$Get.<init>(Bigquery.java:5325)
    at com.google.api.services.bigquery.Bigquery$Tables.get(Bigquery.java:5298)
    at 
org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.getTable(BigQueryServicesImpl.java:553)
    at 
org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.getTable(BigQueryServicesImpl.java:542)
    at 
org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.getTable(BigQueryServicesImpl.java:536)
    at 
org.apache.beam.sdk.io.gcp.bigquery.StorageApiDynamicDestinationsTableRow$1.lambda$$0(StorageApiDynamicDestinationsTableRow.java:66)
    at 
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4876)
    at 
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3528)
    at 
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2277)
    at 
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2154)
    at 
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2044)
    ... 35 more



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to