Class TaskMergeScheduler
A MergeScheduler that runs each merge using
If more than MaxMergeCount merges are requested then this class will forcefully throttle the incoming threads by pausing until one more more merges complete.
LUCENENET specific
Inherited Members
Assembly: DistributedLucene.Net.dll
Syntax
public class TaskMergeScheduler : MergeScheduler, IConcurrentMergeScheduler, IMergeScheduler, IDisposable
Constructors
Name | Description |
---|---|
TaskMergeScheduler() | Sole constructor, with all settings set to default values. |
Fields
Name | Description |
---|---|
COMPONENT_NAME |
Properties
Name | Description |
---|---|
MaxMergeCount | Max number of merges we accept before forcefully throttling the incoming threads |
MaxThreadCount | Max number of merge threads allowed to be running at once. When there are more merges then this, we forcefully pause the larger ones, letting the smaller ones run, up until MaxMergeCount merges at which point we forcefully pause incoming threads (that presumably are the ones causing so much merging). |
MergeThreadPriority | Return the priority that merge threads run at. This is always the same. |
Verbose | Returns
|
Methods
Name | Description |
---|---|
ClearSuppressExceptions() | Used for testing |
Clone() | |
Dispose(Boolean) | |
HandleMergeException(Exception) | Called when an exception is hit in a background merge thread |
Merge(IndexWriter, MergeTrigger, Boolean) | |
Message(String) | Outputs the given message - this method assumes Verbose was
called and returned |
SetMaxMergesAndThreads(Int32, Int32) | Sets the maximum number of merge threads and simultaneous merges allowed. |
SetMergeThreadPriority(Int32) | This method has no effect in TaskMergeScheduler because the MergeThreadPriority returns a constant value. |
SetSuppressExceptions() | Used for testing |
Sync() | Wait for any running merge threads to finish. This call is not interruptible as used by Dispose(). |
ToString() |