Author: chetanm
Date: Mon Dec 11 05:44:33 2017
New Revision: 1817741
URL: http://svn.apache.org/viewvc?rev=1817741&view=rev
Log:
OAK-6353 - Use Document order traversal for reindexing performed on
DocumentNodeStore setups
Improve the log messages
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/progress/IndexingProgressReporter.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/DocumentStoreIndexer.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/progress/IndexingProgressReporter.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/progress/IndexingProgressReporter.java?rev=1817741&r1=1817740&r2=1817741&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/progress/IndexingProgressReporter.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/progress/IndexingProgressReporter.java
Mon Dec 11 05:44:33 2017
@@ -84,6 +84,10 @@ public class IndexingProgressReporter im
messagePrefix = INDEX_MSG;
}
+ public void setMessagePrefix(String messagePrefix) {
+ this.messagePrefix = messagePrefix;
+ }
+
public void traversedNode(PathSource pathSource) throws
CommitFailedException {
if (++traversalCount % 10000 == 0) {
double rate = traversalRateEstimator.getNodesTraversedPerSecond();
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=1817741&r1=1817740&r2=1817741&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
Mon Dec 11 05:44:33 2017
@@ -91,8 +91,6 @@ public class DocumentStoreIndexer implem
DocumentNodeState rootDocumentState = (DocumentNodeState)
checkpointedState;
DocumentNodeStore nodeStore = (DocumentNodeStore)
indexHelper.getNodeStore();
- progressReporter.reindexingTraversalStart("/");
-
NodeStateEntryTraverser nsep =
new
NodeStateEntryTraverser(rootDocumentState.getRootRevision(),
nodeStore, getMongoDocumentStore())
@@ -100,6 +98,9 @@ public class DocumentStoreIndexer implem
.withPathPredicate(indexer::shouldInclude);
closer.register(nsep);
+ //As first traversal is for dumping change the message prefix
+ progressReporter.setMessagePrefix("Dumping");
+
//TODO Use flatFileStore only if we have relative nodes to be indexed
FlatFileStore flatFileStore = new FlatFileNodeStoreBuilder(nsep,
indexHelper.getWorkDir())
.withBlobStore(indexHelper.getGCBlobStore())
@@ -107,7 +108,10 @@ public class DocumentStoreIndexer implem
.build();
closer.register(flatFileStore);
+ progressReporter.reindexingTraversalStart("/");
+
for (NodeStateEntry entry : flatFileStore) {
+ reportDocumentRead(entry.getPath());
indexer.index(entry);
}
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java?rev=1817741&r1=1817740&r2=1817741&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileNodeStoreBuilder.java
Mon Dec 11 05:44:33 2017
@@ -25,6 +25,7 @@ import java.io.Writer;
import java.util.Collections;
import com.google.common.base.Charsets;
+import com.google.common.base.Stopwatch;
import com.google.common.io.Files;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.index.indexer.document.NodeStateEntry;
@@ -92,6 +93,7 @@ public class FlatFileNodeStoreBuilder {
private File writeToStore(File dir, String fileName) throws IOException {
File file = new File(dir, fileName);
+ Stopwatch sw = Stopwatch.createStarted();
try (
Writer w = Files.newWriter(file, Charsets.UTF_8);
NodeStateEntryWriter entryWriter = new
NodeStateEntryWriter(blobStore, w)
@@ -100,6 +102,7 @@ public class FlatFileNodeStoreBuilder {
entryWriter.write(e);
}
}
+ log.info("Dumped nodestates in json format in {}", sw);
return file;
}