This is an automated email from the ASF dual-hosted git repository.

pabloem 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 bfb6a8ea0a8 Fixing a table existence verifier for BQ
     new 2bcec868da0 Merge pull request #25195 from pabloem/fix-verify-table-bq
bfb6a8ea0a8 is described below

commit bfb6a8ea0a806836fae2da0cd052fc911c13e5d3
Author: Pablo E <pabl...@apache.org>
AuthorDate: Thu Jan 26 14:10:23 2023 -0800

    Fixing a table existence verifier for BQ
---
 .../org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.java     | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.java
 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.java
index 0a62245390b..825707f3cae 100644
--- 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.java
+++ 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.java
@@ -593,10 +593,15 @@ public class BigQueryHelpers {
 
   static void verifyTablePresence(DatasetService datasetService, 
TableReference table) {
     try {
-      datasetService.getTable(table);
+      Table fetchedTable = datasetService.getTable(table);
+      if (fetchedTable == null) {
+        throw new IOException("Table does not exist.");
+      }
     } catch (Exception e) {
       ApiErrorExtractor errorExtractor = new ApiErrorExtractor();
-      if ((e instanceof IOException) && 
errorExtractor.itemNotFound((IOException) e)) {
+      if ((e instanceof IOException)
+          && ("Table does not exist.".equals(e.getMessage())
+              || errorExtractor.itemNotFound((IOException) e))) {
         throw new IllegalArgumentException(
             String.format(RESOURCE_NOT_FOUND_ERROR, "table", 
toTableSpec(table)), e);
       } else if (e instanceof RuntimeException) {

Reply via email to