You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2019/09/16 14:19:53 UTC

svn commit: r1867005 - in /jackrabbit/oak/trunk/oak-upgrade/src: main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentAzureNodeStoreContainer.java

Author: reschke
Date: Mon Sep 16 14:19:52 2019
New Revision: 1867005

URL: http://svn.apache.org/viewvc?rev=1867005&view=rev
Log:
OAK-8625: oak-upgrade leaks empty test folders

Modified:
    jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java
    jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentAzureNodeStoreContainer.java

Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java?rev=1867005&r1=1867004&r2=1867005&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/SegmentAzureFactory.java Mon Sep 16 14:19:52 2019
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.upgrad
 import static org.apache.jackrabbit.oak.segment.SegmentCache.DEFAULT_SEGMENT_CACHE_MB;
 import static org.apache.jackrabbit.oak.upgrade.cli.node.FileStoreUtils.asCloseable;
 
+import java.io.File;
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.security.InvalidKeyException;
@@ -111,7 +112,9 @@ public class SegmentAzureFactory impleme
             throw new IllegalStateException(e);
         }
 
-        FileStoreBuilder builder = FileStoreBuilder.fileStoreBuilder(Files.createTempDir())
+        File tmpDir = Files.createTempDir();
+        closer.register(() -> tmpDir.delete());
+        FileStoreBuilder builder = FileStoreBuilder.fileStoreBuilder(tmpDir)
                 .withCustomPersistence(azPersistence).withMemoryMapping(false);
 
         if (blobStore != null) {
@@ -163,17 +166,19 @@ public class SegmentAzureFactory impleme
             throw new IllegalStateException(e);
         }
 
-        FileStoreBuilder builder = FileStoreBuilder.fileStoreBuilder(Files.createTempDir())
+        File tmpDir = Files.createTempDir();
+        FileStoreBuilder builder = FileStoreBuilder.fileStoreBuilder(tmpDir)
                 .withCustomPersistence(azPersistence).withMemoryMapping(false);
 
         ReadOnlyFileStore fs;
         try {
             fs = builder.buildReadOnly();
+            return FileStoreUtils.hasExternalBlobReferences(fs);
         } catch (InvalidFileStoreVersionException e) {
             throw new IOException(e);
+        } finally {
+            tmpDir.delete();
         }
-
-        return FileStoreUtils.hasExternalBlobReferences(fs);
     }
 
     @Override

Modified: jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentAzureNodeStoreContainer.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentAzureNodeStoreContainer.java?rev=1867005&r1=1867004&r2=1867005&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentAzureNodeStoreContainer.java (original)
+++ jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/SegmentAzureNodeStoreContainer.java Mon Sep 16 14:19:52 2019
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.upgrade.cli.container;
 
+import java.io.File;
 import java.io.IOException;
 import java.net.URISyntaxException;
 import java.security.InvalidKeyException;
@@ -45,6 +46,8 @@ public class SegmentAzureNodeStoreContai
 
     private final int mappedPort;
 
+    private File tmpDir;
+
     private FileStore fs;
 
     public SegmentAzureNodeStoreContainer(AzuriteDockerRule azurite) throws IOException {
@@ -80,7 +83,8 @@ public class SegmentAzureNodeStoreContai
             throw new IllegalStateException(e);
         }
 
-        FileStoreBuilder builder = FileStoreBuilder.fileStoreBuilder(Files.createTempDir())
+        tmpDir = Files.createTempDir();
+        FileStoreBuilder builder = FileStoreBuilder.fileStoreBuilder(tmpDir)
                 .withCustomPersistence(azPersistence).withMemoryMapping(false);
 
         if (blob != null) {
@@ -97,6 +101,9 @@ public class SegmentAzureNodeStoreContai
 
     @Override
     public void close() {
+        if (tmpDir != null) {
+            tmpDir.delete();
+        }
         if (fs != null) {
             fs.close();
             fs = null;