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();
 


Reply via email to