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 class
PipelinedMergeSortTask.Result
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGE
static int
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MB
static int
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGE
static int
DEFAULT_OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLD
static int
DEFAULT_OAK_INDEXER_PIPELINED_EXTERNAL_MERGE_READ_BUFFER_SIZE
static String
OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_FILES_TO_MERGE
static String
OAK_INDEXER_PIPELINED_EAGER_MERGE_MAX_SIZE_TO_MERGE_MB
static String
OAK_INDEXER_PIPELINED_EAGER_MERGE_MIN_FILES_TO_MERGE
static String
OAK_INDEXER_PIPELINED_EAGER_MERGE_TRIGGER_THRESHOLD
Minimum number of intermediate files that must exist before trying to do an eager mergestatic String
OAK_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.Result
call()
void
stopEagerMerging()
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:
call
in 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.
-
-