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

yhu 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 6f8f12acd03 Cleanup bigtable open resources on teardown (#30453)
6f8f12acd03 is described below

commit 6f8f12acd03ae7d328cac99e805c74c418e732e3
Author: Michel Davit <[email protected]>
AuthorDate: Tue Mar 5 02:29:49 2024 +0100

    Cleanup bigtable open resources on teardown (#30453)
---
 .../org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java
 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java
index da989280bd4..ed16fe174e7 100644
--- 
a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java
+++ 
b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.java
@@ -1419,6 +1419,23 @@ public class BigtableIO {
       }
     }
 
+    @Teardown
+    public void tearDown() throws IOException {
+      // in case of exception in processElement, finishBundle will not be 
called
+      // cleanup resources allocated in startBundle
+      try {
+        if (bigtableWriter != null) {
+          bigtableWriter.close();
+          bigtableWriter = null;
+        }
+      } finally {
+        if (serviceEntry != null) {
+          serviceEntry.close();
+          serviceEntry = null;
+        }
+      }
+    }
+
     @Override
     public void populateDisplayData(DisplayData.Builder builder) {
       config.populateDisplayData(builder);

Reply via email to