Author: chetanm
Date: Wed Jul 19 06:15:32 2017
New Revision: 1802357
URL: http://svn.apache.org/viewvc?rev=1802357&view=rev
Log:
OAK-6353 - Use Document order traversal for reindexing performed on
DocumentNodeStore setups
Register the MongoDocumentStore with Whiteboard so that it can be
accessed in the command
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/CommonOptions.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/CommonOptions.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/CommonOptions.java?rev=1802357&r1=1802356&r2=1802357&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/CommonOptions.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/CommonOptions.java
Wed Jul 19 06:15:32 2017
@@ -70,7 +70,11 @@ public class CommonOptions implements Op
}
public boolean isSegment(){
- return !isMongo() && !isRDB();
+ return !isDocument();
+ }
+
+ public boolean isDocument(){
+ return isMongo() || isRDB();
}
public boolean isMetricsEnabled() {
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java?rev=1802357&r1=1802356&r2=1802357&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/NodeStoreFixtureProvider.java
Wed Jul 19 06:15:32 2017
@@ -36,7 +36,9 @@ import com.google.common.util.concurrent
import com.mongodb.MongoClientURI;
import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
+import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore;
import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
import org.apache.jackrabbit.oak.plugins.metric.MetricStatisticsProvider;
import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
@@ -50,6 +52,7 @@ import org.apache.jackrabbit.oak.spi.whi
import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import static java.lang.management.ManagementFactory.getPlatformMBeanServer;
+import static java.util.Collections.emptyMap;
import static
org.apache.jackrabbit.oak.segment.file.FileStoreBuilder.fileStoreBuilder;
public class NodeStoreFixtureProvider {
@@ -71,7 +74,7 @@ public class NodeStoreFixtureProvider {
}
StatisticsProvider statisticsProvider = createStatsProvider(options,
wb, closer);
- wb.register(StatisticsProvider.class, statisticsProvider,
Collections.emptyMap());
+ wb.register(StatisticsProvider.class, statisticsProvider, emptyMap());
NodeStore store;
if (commonOpts.isMongo() || commonOpts.isRDB()) {
@@ -122,6 +125,7 @@ public class NodeStoreFixtureProvider {
);
}
+ DocumentNodeStore dns;
if (commonOpts.isMongo()) {
MongoClientURI uri = new MongoClientURI(commonOpts.getStoreArg());
if (uri.getDatabase() == null) {
@@ -130,18 +134,23 @@ public class NodeStoreFixtureProvider {
System.exit(1);
}
MongoConnection mongo = new MongoConnection(uri.getURI());
- wb.register(MongoConnection.class, mongo, Collections.emptyMap());
+ wb.register(MongoConnection.class, mongo, emptyMap());
closer.register(mongo::close);
builder.setMongoDB(mongo.getDB());
+ dns = builder.getNodeStore();
+ wb.register(MongoDocumentStore.class, (MongoDocumentStore)
builder.getDocumentStore(), emptyMap());
} else if (commonOpts.isRDB()) {
RDBStoreOptions rdbOpts =
options.getOptionBean(RDBStoreOptions.class);
DataSource ds =
RDBDataSourceFactory.forJdbcUrl(commonOpts.getStoreArg(),
rdbOpts.getUser(), rdbOpts.getPassword());
- wb.register(DataSource.class, ds, Collections.emptyMap());
+ wb.register(DataSource.class, ds, emptyMap());
builder.setRDBConnection(ds);
+ dns = builder.getNodeStore();
+ wb.register(RDBDocumentStore.class, (RDBDocumentStore)
builder.getDocumentStore(), emptyMap());
+ } else {
+ throw new IllegalStateException("Unknown DocumentStore");
}
- DocumentNodeStore dns = builder.getNodeStore();
closer.register(() -> dns.dispose());
return dns;
@@ -182,7 +191,7 @@ public class NodeStoreFixtureProvider {
MetricStatisticsProvider statsProvider = new
MetricStatisticsProvider(getPlatformMBeanServer(), executorService);
closer.register(statsProvider);
closer.register(() -> reportMetrics(statsProvider));
- wb.register(MetricRegistry.class, statsProvider.getRegistry(),
Collections.emptyMap());
+ wb.register(MetricRegistry.class, statsProvider.getRegistry(),
emptyMap());
return statsProvider;
}
return StatisticsProvider.NOOP;