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

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

commit 28cced965269d33872397f020acdfb3ffc2503ea
Author: Danny Mccormick <[email protected]>
AuthorDate: Fri Jan 16 10:33:21 2026 -0500

    Fix spanner io hang by closing connections
---
 .../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