Class PipelinedMergeSortTask
- java.lang.Object
-
- org.apache.jackrabbit.oak.index.indexer.document.flatfile.pipelined.PipelinedMergeSortTask
-
- All Implemented Interfaces:
Callable<PipelinedMergeSortTask.Result>
public class PipelinedMergeSortTask extends Object implements Callable<PipelinedMergeSortTask.Result>
Accumulates the intermediate sorted files and, when all files are generated, merges them into a single sorted file, the flat file store
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPipelinedMergeSortTask.Result
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGEstatic intDEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MBstatic intDEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGEstatic intDEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLDstatic intDEFAULT_OAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZEstatic StringOAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGEstatic StringOAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MBstatic StringOAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGEstatic StringOAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLDMinimum number of intermediate files that must exist before trying to do an eager mergestatic StringOAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZE
-
Constructor Summary
Constructors Constructor Description PipelinedMergeSortTask(Path storeDir, PathElementComparator pathComparator, Compression algorithm, BlockingQueue<Path> sortedFilesQueue, StatisticsProvider statisticsProvider, IndexingReporter reporter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PipelinedMergeSortTask.Resultcall()voidstopEagerMerging()Stops eager merging.
-
-
-
Field Detail
-
OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLD
public static final String OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLD
Minimum number of intermediate files that must exist before trying to do an eager merge- See Also:
- Constant Field Values
-
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLD
public static final int DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLD
- See Also:
- Constant Field Values
-
OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGE
public static final String OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGE
- See Also:
- Constant Field Values
-
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGE
public static final int DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGE
- See Also:
- Constant Field Values
-
OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGE
public static final String OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGE
- See Also:
- Constant Field Values
-
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGE
public static final int DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGE
- See Also:
- Constant Field Values
-
OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MB
public static final String OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MB
- See Also:
- Constant Field Values
-
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MB
public static final int DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MB
- See Also:
- Constant Field Values
-
OAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZE
public static final String OAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_OAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZE
public static final int DEFAULT_OAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PipelinedMergeSortTask
public PipelinedMergeSortTask(Path storeDir, PathElementComparator pathComparator, Compression algorithm, BlockingQueue<Path> sortedFilesQueue, StatisticsProvider statisticsProvider, IndexingReporter reporter)
-
-
Method Detail
-
call
public PipelinedMergeSortTask.Result call() throws Exception
- Specified by:
callin interfaceCallable<PipelinedMergeSortTask.Result>- Throws:
Exception
-
stopEagerMerging
public void stopEagerMerging()
Stops eager merging. After this method is called, eager merging will no longer be performed, even if the conditions for merging are met. This method should be called when the download terminates, to avoid starting new eager merges which would delay the final merge.
-
-