diff --git a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BatchLoads.java b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BatchLoads.java index dd1d831f1950..252e55d34c07 100644 --- a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BatchLoads.java +++ b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BatchLoads.java @@ -285,14 +285,17 @@ public void validate(@Nullable PipelineOptions maybeOptions) { PipelineOptions options = Preconditions.checkArgumentNotNull(maybeOptions); // We will use a BigQuery load job -- validate the temp location. String tempLocation; - if (customGcsTempLocation == null || customGcsTempLocation.get() == null) { + if (customGcsTempLocation == null) { tempLocation = options.getTempLocation(); } else { if (!customGcsTempLocation.isAccessible()) { // Can't perform verification in this case. return; + } else if (Strings.isNullOrEmpty(customGcsTempLocation.get())) { + tempLocation = options.getTempLocation(); + } else { + tempLocation = customGcsTempLocation.get(); } - tempLocation = customGcsTempLocation.get(); } checkArgument( !Strings.isNullOrEmpty(tempLocation), diff --git a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIOWriteTest.java b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIOWriteTest.java index 89059634631f..f943b60118d2 100644 --- a/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIOWriteTest.java +++ b/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIOWriteTest.java @@ -4444,6 +4444,8 @@ public void testUpsertAndDeleteBeamRows() throws Exception { @Test public void testCustomGcsTempLocationNull() throws Exception { + assumeTrue(!useStreaming); + assumeTrue(!useStorageApi); BigQueryIO.Write write = BigQueryIO.writeTableRows() .to("dataset-id.table-id")