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

damccorm pushed a commit to branch users/damccorm/spanner-cps
in repository https://gitbox.apache.org/repos/asf/beam.git

commit 7ebd7f431c98209c53a9c210d61cc11cd034d25e
Author: Danny McCormick <[email protected]>
AuthorDate: Fri Jan 16 12:20:14 2026 -0500

    Fix spanner io hang by closing connections (#37327)
---
 .../main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

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 e060766cbd2..450710112a1 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 @@ public class SpannerIO {
     // 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();
+    }
   }
 
   /**

Reply via email to