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/31 08:24:14 UTC
svn commit: r1746253 -
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
Author: frm
Date: Tue May 31 08:24:14 2016
New Revision: 1746253
URL: http://svn.apache.org/viewvc?rev=1746253&view=rev
Log:
OAK-4343 - Add a flag to choose between segment store implementations in the "resetclusterid" command
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java?rev=1746253&r1=1746252&r2=1746253&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/ResetClusterIdCommand.java Tue May 31 08:24:14 2016
@@ -18,6 +18,13 @@ package org.apache.jackrabbit.oak.run;
import static org.apache.jackrabbit.oak.plugins.segment.FileStoreHelper.openFileStore;
+import com.google.common.io.Closer;
+import com.mongodb.MongoClient;
+import com.mongodb.MongoClientURI;
+import com.mongodb.MongoURI;
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import joptsimple.OptionSpec;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
@@ -30,11 +37,6 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
-import com.google.common.io.Closer;
-import com.mongodb.MongoClient;
-import com.mongodb.MongoClientURI;
-import com.mongodb.MongoURI;
-
/**
* OFFLINE utility to delete the clusterId stored as hidden
* property as defined by ClusterRepositoryInfo.
@@ -81,25 +83,32 @@ class ResetClusterIdCommand implements C
@Override
public void execute(String... args) throws Exception {
- if (args.length != 1) {
- System.out
- .println("usage: resetclusterid {<path>|<mongo-uri>}");
+ OptionParser parser = new OptionParser();
+ OptionSpec segmentTar = parser.accepts("segment-tar", "Use oak-segment-tar instead of oak-segment");
+ OptionSet options = parser.parse(args);
+
+ if (options.nonOptionArguments().isEmpty()) {
+ System.out.println("usage: resetclusterid {<path>|<mongo-uri>}");
System.exit(1);
}
+ String source = options.nonOptionArguments().get(0).toString();
+
Closer closer = Closer.create();
try {
NodeStore store;
if (args[0].startsWith(MongoURI.MONGODB_PREFIX)) {
- MongoClientURI uri = new MongoClientURI(args[0]);
+ MongoClientURI uri = new MongoClientURI(source);
MongoClient client = new MongoClient(uri);
final DocumentNodeStore dns = new DocumentMK.Builder()
.setMongoDB(client.getDB(uri.getDatabase()))
.getNodeStore();
closer.register(Utils.asCloseable(dns));
store = dns;
+ } else if (options.has(segmentTar)) {
+ store = SegmentTarUtils.bootstrapNodeStore(source, closer);
} else {
- FileStore fs = openFileStore(args[0]);
+ FileStore fs = openFileStore(source);
closer.register(Utils.asCloseable(fs));
store = SegmentNodeStore.builder(fs).build();
}