Author: chetanm
Date: Thu Dec 21 09:54:39 2017
New Revision: 1818898
URL: http://svn.apache.org/viewvc?rev=1818898&view=rev
Log:
OAK-7102 - Refactor DocumentIndexer logic to enable different sort approaches
Use '.gz' extension instead of '.zip' as files are created via gzip compression
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreUtils.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/StoreAndSortStrategy.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/TraverseWithSortStrategy.java
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreUtils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreUtils.java?rev=1818898&r1=1818897&r2=1818898&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreUtils.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreUtils.java
Thu Dec 21 09:54:39 2017
@@ -68,4 +68,8 @@ class FlatFileStoreUtils {
public static long sizeOf(List<File> sortedFiles) {
return sortedFiles.stream().mapToLong(File::length).sum();
}
+
+ public static String getSortedStoreFileName(boolean compressionEnabled){
+ return compressionEnabled ? "store-sorted.json.gz" :
"store-sorted.json";
+ }
}
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/StoreAndSortStrategy.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/StoreAndSortStrategy.java?rev=1818898&r1=1818897&r2=1818898&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/StoreAndSortStrategy.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/StoreAndSortStrategy.java
Thu Dec 21 09:54:39 2017
@@ -33,6 +33,7 @@ import static com.google.common.base.Sta
import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileNodeStoreBuilder.OAK_INDEXER_MAX_SORT_MEMORY_IN_GB;
import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileNodeStoreBuilder.OAK_INDEXER_MAX_SORT_MEMORY_IN_GB_DEFAULT;
+import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreUtils.getSortedStoreFileName;
class StoreAndSortStrategy implements SortStrategy {
private static final String OAK_INDEXER_DELETE_ORIGINAL =
"oak.indexer.deleteOriginal";
@@ -73,7 +74,7 @@ class StoreAndSortStrategy implements So
private File sortStoreFile(File storeFile) throws IOException {
File sortWorkDir = new File(storeFile.getParent(), "sort-work-dir");
FileUtils.forceMkdir(sortWorkDir);
- File sortedFile = new File(storeFile.getParentFile(),
getSortedStoreFileName());
+ File sortedFile = new File(storeFile.getParentFile(),
getSortedStoreFileName(compressionEnabled));
NodeStateEntrySorter sorter =
new NodeStateEntrySorter(comparator, storeFile, sortWorkDir,
sortedFile);
@@ -111,10 +112,6 @@ class StoreAndSortStrategy implements So
}
private String getStoreFileName() {
- return compressionEnabled ? "store.json.zip" : "store.json";
- }
-
- private String getSortedStoreFileName() {
- return compressionEnabled ? "store-sorted.json.zip" :
"store-sorted.json";
+ return compressionEnabled ? "store.json.gz" : "store.json";
}
}
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/TraverseWithSortStrategy.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/TraverseWithSortStrategy.java?rev=1818898&r1=1818897&r2=1818898&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/TraverseWithSortStrategy.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/TraverseWithSortStrategy.java
Thu Dec 21 09:54:39 2017
@@ -54,6 +54,7 @@ import static org.apache.jackrabbit.oak.
import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileNodeStoreBuilder.OAK_INDEXER_MAX_SORT_MEMORY_IN_GB;
import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileNodeStoreBuilder.OAK_INDEXER_MAX_SORT_MEMORY_IN_GB_DEFAULT;
import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreUtils.createWriter;
+import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreUtils.getSortedStoreFileName;
import static
org.apache.jackrabbit.oak.index.indexer.document.flatfile.FlatFileStoreUtils.sizeOf;
class TraverseWithSortStrategy implements SortStrategy {
@@ -105,7 +106,7 @@ class TraverseWithSortStrategy implement
private File sortStoreFile() throws IOException {
Stopwatch w = Stopwatch.createStarted();
- File sortedFile = new File(storeDir, getSortedStoreFileName());
+ File sortedFile = new File(storeDir,
getSortedStoreFileName(compressionEnabled));
try(BufferedWriter writer = createWriter(sortedFile,
compressionEnabled)) {
Function<String, NodeStateEntryHolder> func1 = (line) -> line ==
null ? null : new NodeStateEntryHolder(line);
Function<NodeStateEntryHolder, String> func2 = holder -> holder ==
null ? null : holder.line;
@@ -123,10 +124,6 @@ class TraverseWithSortStrategy implement
return sortedFile;
}
- private String getSortedStoreFileName() {
- return compressionEnabled ? "store-sorted.json.zip" :
"store-sorted.json";
- }
-
private void writeToSortedFiles() throws IOException {
Stopwatch w = Stopwatch.createStarted();
for (NodeStateEntry e : nodeStates) {