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;