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

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

commit 7c3c0149ee9b895eec50e2a160d17f444bfe26cd
Author: Qi Yu <[email protected]>
AuthorDate: Fri Apr 24 12:12:33 2026 +0800

    [Cherry-pick to branch-1.2] [#10844] fix(hive): close HiveClientFactory on 
pool shutdown (#10854)
---
 .../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