A MergeScheduler that runs each merge using a separate thread, up until a maximum number of threads (setMaxThreadCount) at which when a merge is needed, the thread(s) that are updating the index will pause until one or more merges completes. This is a simple way to use concurrency in the indexing process without having to create and manage application level threads.
More...
#include <ConcurrentMergeScheduler.h>
A MergeScheduler that runs each merge using a separate thread, up until a maximum number of threads (setMaxThreadCount) at which when a merge is needed, the thread(s) that are updating the index will pause until one or more merges completes. This is a simple way to use concurrency in the indexing process without having to create and manage application level threads.
Lucene::ConcurrentMergeScheduler::ConcurrentMergeScheduler |
( |
) | |
|
virtual Lucene::ConcurrentMergeScheduler::~ConcurrentMergeScheduler |
( |
) | |
|
|
virtual |
static String Lucene::ConcurrentMergeScheduler::_getClassName |
( |
) | |
|
|
inlinestatic |
virtual void Lucene::ConcurrentMergeScheduler::addMyself |
( |
) | |
|
|
protectedvirtual |
static bool Lucene::ConcurrentMergeScheduler::anyUnhandledExceptions |
( |
) | |
|
|
static |
void Lucene::ConcurrentMergeScheduler::clearSuppressExceptions |
( |
) | |
|
static void Lucene::ConcurrentMergeScheduler::clearUnhandledExceptions |
( |
) | |
|
|
static |
virtual void Lucene::ConcurrentMergeScheduler::close |
( |
) | |
|
|
virtual |
virtual void Lucene::ConcurrentMergeScheduler::doMerge |
( |
OneMergePtr |
merge) | |
|
|
protectedvirtual |
virtual String Lucene::ConcurrentMergeScheduler::getClassName |
( |
) | |
|
|
inlinevirtual |
virtual int32_t Lucene::ConcurrentMergeScheduler::getMaxThreadCount |
( |
) | |
|
|
virtual |
virtual int32_t Lucene::ConcurrentMergeScheduler::getMergeThreadPriority |
( |
) | |
|
|
virtual |
Return the priority that merge threads run at. By default the priority is 1 plus the priority of (ie, slightly higher priority than) the first thread that calls merge.
virtual void Lucene::ConcurrentMergeScheduler::handleMergeException |
( |
const LuceneException & |
exc) | |
|
|
protectedvirtual |
Called when an exception is hit in a background merge thread.
virtual void Lucene::ConcurrentMergeScheduler::initialize |
( |
) | |
|
|
virtual |
Called directly after instantiation to create objects that depend on this object being fully constructed.
Reimplemented from Lucene::LuceneObject.
virtual void Lucene::ConcurrentMergeScheduler::initMergeThreadPriority |
( |
) | |
|
|
protectedvirtual |
virtual void Lucene::ConcurrentMergeScheduler::merge |
( |
IndexWriterPtr |
writer) | |
|
|
virtual |
virtual int32_t Lucene::ConcurrentMergeScheduler::mergeThreadCount |
( |
) | |
|
|
protectedvirtual |
virtual void Lucene::ConcurrentMergeScheduler::message |
( |
const String & |
message) | |
|
|
protectedvirtual |
virtual void Lucene::ConcurrentMergeScheduler::setMaxThreadCount |
( |
int32_t |
count) | |
|
|
virtual |
Sets the max # simultaneous threads that may be running. If a merge is necessary yet we already have this many threads running, the incoming thread (that is calling add/updateDocument) will block until a merge thread has completed.
virtual void Lucene::ConcurrentMergeScheduler::setMergeThreadPriority |
( |
int32_t |
pri) | |
|
|
virtual |
Set the priority that merge threads run at.
void Lucene::ConcurrentMergeScheduler::setSuppressExceptions |
( |
) | |
|
static void Lucene::ConcurrentMergeScheduler::setTestMode |
( |
) | |
|
|
static |
virtual void Lucene::ConcurrentMergeScheduler::sync |
( |
) | |
|
|
virtual |
virtual bool Lucene::ConcurrentMergeScheduler::verbose |
( |
) | |
|
|
protectedvirtual |
bool Lucene::ConcurrentMergeScheduler::anyExceptions |
|
staticprotected |
bool Lucene::ConcurrentMergeScheduler::closed |
|
protected |
int32_t Lucene::ConcurrentMergeScheduler::maxThreadCount |
|
protected |
Max number of threads allowed to be merging at once.
int32_t Lucene::ConcurrentMergeScheduler::mergeThreadPriority |
|
protected |
SetMergeThread Lucene::ConcurrentMergeScheduler::mergeThreads |
|
protected |
bool Lucene::ConcurrentMergeScheduler::suppressExceptions |
|
protected |
The documentation for this class was generated from the following file: