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

jerryshao 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 fbb4f99809 [Cherry-pick to branch-1.2] [#10700] test(core): close 
leaked EntityStore lifecycle for GC flaky test (#10857) (#10872)
fbb4f99809 is described below

commit fbb4f9980948c4ff006aa5e19ff3d2a5f13f5ba2
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Apr 27 19:26:49 2026 +0800

    [Cherry-pick to branch-1.2] [#10700] test(core): close leaked EntityStore 
lifecycle for GC flaky test (#10857) (#10872)
    
    **Cherry-pick Information:**
    - Original commit: 24d987cbfb67fed3bda93af5b954786a04bbcc25
    - Target branch: `branch-1.2`
    - Status: ✅ Clean cherry-pick (no conflicts)
    
    Co-authored-by: mchades <[email protected]>
---
 .../org/apache/gravitino/policy/TestPolicyManager.java  |  7 ++++++-
 .../gravitino/storage/AbstractEntityStorageTest.java    | 17 +++++++++--------
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git 
a/core/src/test/java/org/apache/gravitino/policy/TestPolicyManager.java 
b/core/src/test/java/org/apache/gravitino/policy/TestPolicyManager.java
index ac76ee81f2..91441d2a3b 100644
--- a/core/src/test/java/org/apache/gravitino/policy/TestPolicyManager.java
+++ b/core/src/test/java/org/apache/gravitino/policy/TestPolicyManager.java
@@ -105,13 +105,14 @@ public class TestPolicyManager {
       ImmutableSet.of(
           MetadataObject.Type.CATALOG, MetadataObject.Type.SCHEMA, 
MetadataObject.Type.TABLE);
 
+  private static EntityStore entityStore;
   private static PolicyManager policyManager;
 
   @BeforeAll
   public static void setUp() throws IllegalAccessException, IOException {
     IdGenerator idGenerator = new RandomIdGenerator();
     Config config = mockConfig();
-    EntityStore entityStore = EntityStoreFactory.createEntityStore(config);
+    entityStore = EntityStoreFactory.createEntityStore(config);
     entityStore.initialize(config);
     policyManager = new PolicyManager(idGenerator, entityStore);
 
@@ -212,6 +213,10 @@ public class TestPolicyManager {
 
   @AfterAll
   public static void tearDown() throws IOException {
+    if (entityStore != null) {
+      entityStore.close();
+      entityStore = null;
+    }
     FileUtils.deleteDirectory(new File(JDBC_STORE_PATH));
   }
 
diff --git 
a/core/src/test/java/org/apache/gravitino/storage/AbstractEntityStorageTest.java
 
b/core/src/test/java/org/apache/gravitino/storage/AbstractEntityStorageTest.java
index f91d98c23a..ece352f8ef 100644
--- 
a/core/src/test/java/org/apache/gravitino/storage/AbstractEntityStorageTest.java
+++ 
b/core/src/test/java/org/apache/gravitino/storage/AbstractEntityStorageTest.java
@@ -202,14 +202,15 @@ abstract class AbstractEntityStorageTest {
             new PostgreSQLExceptionConverter(),
             true);
 
-        RelationalEntityStore store =
-            (RelationalEntityStore) 
EntityStoreFactory.createEntityStore(config);
-        store.initialize(config);
-        Field f = FieldUtils.getField(RelationalEntityStore.class, "backend", 
true);
-        RelationalBackend backend = (RelationalBackend) f.get(store);
-        RelationalGarbageCollector garbageCollector =
-            new RelationalGarbageCollector(backend, config);
-        garbageCollector.collectAndClean();
+        try (RelationalEntityStore store =
+            (RelationalEntityStore) 
EntityStoreFactory.createEntityStore(config)) {
+          store.initialize(config);
+          Field f = FieldUtils.getField(RelationalEntityStore.class, 
"backend", true);
+          RelationalBackend backend = (RelationalBackend) f.get(store);
+          RelationalGarbageCollector garbageCollector =
+              new RelationalGarbageCollector(backend, config);
+          garbageCollector.collectAndClean();
+        }
 
       } else {
         throw new UnsupportedOperationException("Unsupported entity store 
type: " + type);

Reply via email to