Author: chetanm Date: Fri Dec 8 07:27:12 2017 New Revision: 1817468 URL: http://svn.apache.org/viewvc?rev=1817468&view=rev Log: OAK-6353 - Use Document order traversal for reindexing performed on DocumentNodeStore setups
Wire up the FlatFileStore with indexing logic. At this stage we should be able to measure time taken to traverse + sort Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexer.java Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexer.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexer.java?rev=1817468&r1=1817467&r2=1817468&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexer.java (original) +++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexer.java Fri Dec 8 07:27:12 2017 @@ -31,6 +31,8 @@ import com.google.common.io.Closer; import org.apache.jackrabbit.oak.api.CommitFailedException; import org.apache.jackrabbit.oak.index.IndexHelper; import org.apache.jackrabbit.oak.index.IndexerSupport; +import org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileNodeStoreBuilder; +import org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStore; import org.apache.jackrabbit.oak.plugins.document.DocumentNodeState; import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore; import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore; @@ -96,13 +98,19 @@ public class DocumentStoreIndexer implem nodeStore, getMongoDocumentStore()) .withProgressCallback(this::reportDocumentRead) .withPathPredicate(indexer::shouldInclude); + closer.register(nsep); - for (NodeStateEntry entry : nsep) { + //TODO Use flatFileStore only if we have relative nodes to be indexed + FlatFileStore flatFileStore = new FlatFileNodeStoreBuilder(nsep, indexHelper.getWorkDir()) + .withBlobStore(indexHelper.getGCBlobStore()) + .withPreferredPathElements(indexer.getRelativeIndexedNodeNames()) + .build(); + closer.register(flatFileStore); + + for (NodeStateEntry entry : flatFileStore) { indexer.index(entry); } - nsep.close(); - progressReporter.reindexingTraversalEnd(); progressReporter.logReport();