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 fr...@apache.org on 2016/05/30 14:20:07 UTC

svn commit: r1746136 - in /jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run: SegmentTarUtils.java SegmentUtils.java Utils.java

Author: frm
Date: Mon May 30 14:20:07 2016
New Revision: 1746136

URL: http://svn.apache.org/viewvc?rev=1746136&view=rev
Log:
OAK-4341 - Add a flag to choose between segment store implementations in the "tarmkrecovery" command

Modified:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java?rev=1746136&r1=1746135&r2=1746136&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentTarUtils.java Mon May 30 14:20:07 2016
@@ -103,6 +103,10 @@ final class SegmentTarUtils {
         // Prevent instantiation
     }
 
+    static NodeStore bootstrapNodeStore(String path, Closer closer) throws IOException {
+        return SegmentNodeStore.builder(bootstrapFileStore(path, closer)).build();
+    }
+
     static void backup(File source, File target) throws IOException {
         Closer closer = Closer.create();
         try {
@@ -224,6 +228,14 @@ final class SegmentTarUtils {
         }
     }
 
+    private static FileStore bootstrapFileStore(String path, Closer closer) throws IOException {
+        return closer.register(bootstrapFileStore(path));
+    }
+
+    private static FileStore bootstrapFileStore(String path) throws IOException {
+        return FileStore.builder(new File(path)).build();
+    }
+
     private static void listRevs(File store, File out) throws IOException {
         System.out.println("Store " + store);
         System.out.println("Writing revisions to " + out);

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java?rev=1746136&r1=1746135&r2=1746136&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/SegmentUtils.java Mon May 30 14:20:07 2016
@@ -101,6 +101,10 @@ class SegmentUtils {
         // Prevent instantiation
     }
 
+    static NodeStore bootstrapNodeStore(String path, Closer closer) throws IOException {
+        return SegmentNodeStore.builder(bootstrapFileStore(path, closer)).build();
+    }
+
     static void backup(File source, File target) throws IOException {
         Closer closer = Closer.create();
         try {
@@ -241,6 +245,14 @@ class SegmentUtils {
         }
     }
 
+    private static FileStore bootstrapFileStore(String path, Closer closer) throws IOException {
+        return closer.register(bootstrapFileStore(path));
+    }
+
+    private static FileStore bootstrapFileStore(String path) throws IOException {
+        return FileStore.builder(new File(path)).build();
+    }
+
     private static void listRevs(File store, File out) throws IOException {
         System.out.println("Store " + store);
         System.out.println("Writing revisions to " + out);

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java?rev=1746136&r1=1746135&r2=1746136&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Utils.java Mon May 30 14:20:07 2016
@@ -18,7 +18,6 @@
 package org.apache.jackrabbit.oak.run;
 
 import static java.util.Arrays.asList;
-import static org.apache.jackrabbit.oak.plugins.segment.FileStoreHelper.openFileStore;
 
 import java.io.Closeable;
 import java.io.IOException;
@@ -33,7 +32,6 @@ import joptsimple.OptionSpec;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
 import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
-import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.plugins.segment.file.FileStore;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 
@@ -45,6 +43,7 @@ class Utils {
         OptionSpec<Integer> clusterId = parser
                 .accepts("clusterId", "MongoMK clusterId").withRequiredArg()
                 .ofType(Integer.class).defaultsTo(0);
+        OptionSpec segmentTar = parser.accepts("segment-tar", "Use oak-segment-tar instead of oak-segment");
         OptionSpec<?> help = parser.acceptsAll(asList("h", "?", "help"),
                 "show help").forHelp();
         OptionSpec<String> nonOption = parser
@@ -81,9 +80,11 @@ class Utils {
             return store;
         }
 
-        FileStore fs = openFileStore(src);
-        closer.register(asCloseable(fs));
-        return SegmentNodeStore.builder(fs).build();
+        if (options.has(segmentTar)) {
+            return SegmentTarUtils.bootstrapNodeStore(src, closer);
+        }
+
+        return SegmentUtils.bootstrapNodeStore(src, closer);
     }
 
     static Closeable asCloseable(final FileStore fs) {