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/12/02 15:13:40 UTC
svn commit: r1870709 - in /jackrabbit/oak/branches/1.6: ./
oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MapDBMapFactory.java
oak-run/src/main/java/org/apache/jackrabbit/oak/run/RecoveryCommand.java
Author: reschke
Date: Mon Dec 2 15:13:40 2019
New Revision: 1870709
URL: http://svn.apache.org/viewvc?rev=1870709&view=rev
Log:
OAK-8624: oak-run: tests leak mapd temp files (merged t1867061 into 1.6)
Modified:
jackrabbit/oak/branches/1.6/ (props changed)
jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MapDBMapFactory.java
jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RecoveryCommand.java
Propchange: jackrabbit/oak/branches/1.6/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1867061
Modified: jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MapDBMapFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MapDBMapFactory.java?rev=1870709&r1=1870708&r2=1870709&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MapDBMapFactory.java (original)
+++ jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MapDBMapFactory.java Mon Dec 2 15:13:40 2019
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.document.util;
+import java.io.Closeable;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -31,7 +32,7 @@ import org.mapdb.Serializer;
/**
* A MapFactory backed by MapDB, which stores the map in a temporary file.
*/
-public class MapDBMapFactory extends MapFactory {
+public class MapDBMapFactory extends MapFactory implements Closeable {
private final AtomicInteger counter = new AtomicInteger();
private final DB db;
@@ -53,6 +54,11 @@ public class MapDBMapFactory extends Map
.makeStringMap();
}
+ @Override
+ public void close() throws IOException {
+ this.db.close();
+ }
+
private static class RevisionSerializer implements Serializer<Revision>,
Serializable {
private static final long serialVersionUID = 8648365575103098316L;
Modified: jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RecoveryCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RecoveryCommand.java?rev=1870709&r1=1870708&r2=1870709&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RecoveryCommand.java (original)
+++ jackrabbit/oak/branches/1.6/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RecoveryCommand.java Mon Dec 2 15:13:40 2019
@@ -32,10 +32,13 @@ import org.apache.jackrabbit.oak.spi.sta
class RecoveryCommand implements Command {
+ MapFactory oldf = MapFactory.getInstance();
+
@Override
public void execute(String... args) throws Exception {
- MapFactory.setInstance(new MapDBMapFactory());
Closer closer = Closer.create();
+ MapDBMapFactory mdbmf = new MapDBMapFactory();
+ closer.register(mdbmf);
String h = "recovery mongodb://host:port/database { dryRun }";
try {
NodeStore store = Utils.bootstrapNodeStore(args, closer, h);
@@ -60,6 +63,7 @@ class RecoveryCommand implements Command
throw closer.rethrow(e);
} finally {
closer.close();
+ MapFactory.setInstance(oldf);
}
}