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() {