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

mreutegg pushed a commit to branch OAK-11077
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 3bebf4952c6e2f38399e4c651c4a4d503ea3f35e
Author: Marcel Reutegger <[email protected]>
AuthorDate: Tue Sep 3 14:41:02 2024 +0200

    OAK-11077: Resource leak in tests
---
 .../test/java/org/apache/jackrabbit/oak/jcr/RefreshOnGCTest.java    | 6 ++++--
 .../binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java    | 4 ++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RefreshOnGCTest.java 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RefreshOnGCTest.java
index 4cdb5c71a0..03c3711304 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RefreshOnGCTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RefreshOnGCTest.java
@@ -36,6 +36,7 @@ import javax.jcr.SimpleCredentials;
 import org.apache.jackrabbit.api.JackrabbitRepository;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
+import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.spi.gc.GCMonitor;
 import org.apache.jackrabbit.oak.spi.gc.GCMonitorTracker;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
@@ -49,6 +50,7 @@ public class RefreshOnGCTest {
     private Callable<Void> compact;
     private Repository repository;
     private GCMonitorTracker gcMonitor;
+    private FileStore fileStore;
 
     enum Fixture {
         SEGMENT_TAR(false);
@@ -65,8 +67,7 @@ public class RefreshOnGCTest {
     }
 
     private NodeStore createSegmentTarStore(File directory, GCMonitor 
gcMonitor) throws Exception {
-        final org.apache.jackrabbit.oak.segment.file.FileStore fileStore =
-                fileStoreBuilder(directory).withGCMonitor(gcMonitor).build();
+        fileStore = 
fileStoreBuilder(directory).withGCMonitor(gcMonitor).build();
         compact = new Callable<Void>() {
             @Override
             public Void call() throws Exception {
@@ -98,6 +99,7 @@ public class RefreshOnGCTest {
             ((JackrabbitRepository) repository).shutdown();
         }
         gcMonitor.stop();
+        fileStore.close();
     }
 
     @Test
diff --git 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
index ac33bad3f3..366058f45e 100644
--- 
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
+++ 
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
@@ -118,6 +118,10 @@ public class SegmentMemoryNodeStoreFixture extends 
NodeStoreFixture implements C
     @Override
     public void dispose(NodeStore nodeStore) {
         try {
+            FileStore fileStore = (FileStore) components.get(nodeStore, 
FileStore.class.getName());
+            if (fileStore != null) {
+                fileStore.close();
+            }
             File fileStoreRoot = (File) components.get(nodeStore, 
FileStore.class.getName() + ":root");
             FileUtils.deleteQuietly(fileStoreRoot);
 

Reply via email to