diff --git a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java index e060766cbd22..450710112a1b 100644 --- a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java +++ b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java @@ -2101,9 +2101,10 @@ private static Dialect getDialect(SpannerConfig spannerConfig, PipelineOptions p // Allow passing the credential from pipeline options to the getDialect() call. SpannerConfig spannerConfigWithCredential = buildSpannerConfigWithCredential(spannerConfig, pipelineOptions); - DatabaseClient databaseClient = - SpannerAccessor.getOrCreate(spannerConfigWithCredential).getDatabaseClient(); - return databaseClient.getDialect(); + try (SpannerAccessor sa = SpannerAccessor.getOrCreate(spannerConfigWithCredential)) { + DatabaseClient databaseClient = sa.getDatabaseClient(); + return databaseClient.getDialect(); + } } /**