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

yuqi1129 pushed a commit to branch branch-1.2
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-1.2 by this push:
     new cbd7403f1e [Cherry-pick to branch-1.2] [#10844] fix(hive): close 
HiveClientFactory on pool shutdown (#10854) (#10891)
cbd7403f1e is described below

commit cbd7403f1ebc6490a8bdfddadbe8822f4cc6d1e4
Author: Yuhui <[email protected]>
AuthorDate: Wed Apr 29 11:25:07 2026 +0800

    [Cherry-pick to branch-1.2] [#10844] fix(hive): close HiveClientFactory on 
pool shutdown (#10854) (#10891)
    
    **Cherry-pick Information:**
    - Original commit: a22daa068
    - Target branch: `branch-1.2`
    - Status: ✅ Clean cherry-pick (no conflicts)
    
    Co-authored-by: Qi Yu <[email protected]>
---
 .../org/apache/gravitino/hive/HiveClientPool.java     | 19 +++++++++++++++++++
 .../org/apache/gravitino/hive/TestHiveClientPool.java |  1 +
 2 files changed, 20 insertions(+)

diff --git 
a/catalogs/hive-metastore-common/src/main/java/org/apache/gravitino/hive/HiveClientPool.java
 
b/catalogs/hive-metastore-common/src/main/java/org/apache/gravitino/hive/HiveClientPool.java
index e4d78e58c7..92ca495d61 100644
--- 
a/catalogs/hive-metastore-common/src/main/java/org/apache/gravitino/hive/HiveClientPool.java
+++ 
b/catalogs/hive-metastore-common/src/main/java/org/apache/gravitino/hive/HiveClientPool.java
@@ -18,6 +18,7 @@
  */
 package org.apache.gravitino.hive;
 
+import com.google.common.annotations.VisibleForTesting;
 import java.util.Properties;
 import org.apache.gravitino.exceptions.GravitinoRuntimeException;
 import org.apache.gravitino.hive.client.HiveClient;
@@ -69,6 +70,24 @@ public class HiveClientPool extends 
ClientPoolImpl<HiveClient, GravitinoRuntimeE
     return false;
   }
 
+  @Override
+  public void close() {
+    if (isClosed()) {
+      return;
+    }
+
+    try {
+      super.close();
+    } finally {
+      closeClientFactory();
+    }
+  }
+
+  @VisibleForTesting
+  void closeClientFactory() {
+    clientFactory.close();
+  }
+
   @Override
   protected void close(HiveClient client) {
     LOG.info("Closing Hive Metastore client");
diff --git 
a/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/TestHiveClientPool.java
 
b/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/TestHiveClientPool.java
index 83f397606d..012b4e5a9b 100644
--- 
a/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/TestHiveClientPool.java
+++ 
b/catalogs/hive-metastore-common/src/test/java/org/apache/gravitino/hive/TestHiveClientPool.java
@@ -90,6 +90,7 @@ public class TestHiveClientPool {
     clients.close();
     assertTrue(clients.isClosed());
     Mockito.verify(hiveClient).close();
+    Mockito.verify(clients).closeClientFactory();
   }
 
   private HiveClient newClient() {

Reply via email to