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.
◆ ConcurrentMergeScheduler()
| Lucene::ConcurrentMergeScheduler::ConcurrentMergeScheduler |
( |
| ) |
|
◆ ~ConcurrentMergeScheduler()
| virtual Lucene::ConcurrentMergeScheduler::~ConcurrentMergeScheduler |
( |
| ) |
|
|
virtual |
◆ _getClassName()
| String Lucene::ConcurrentMergeScheduler::_getClassName |
( |
| ) |
|
|
inlinestatic |
◆ addMyself()
| virtual void Lucene::ConcurrentMergeScheduler::addMyself |
( |
| ) |
|
|
protectedvirtual |
◆ anyUnhandledExceptions()
| bool Lucene::ConcurrentMergeScheduler::anyUnhandledExceptions |
( |
| ) |
|
|
static |
◆ clearSuppressExceptions()
| void Lucene::ConcurrentMergeScheduler::clearSuppressExceptions |
( |
| ) |
|
◆ clearUnhandledExceptions()
| void Lucene::ConcurrentMergeScheduler::clearUnhandledExceptions |
( |
| ) |
|
|
static |
◆ close()
| virtual void Lucene::ConcurrentMergeScheduler::close |
( |
| ) |
|
|
virtual |
◆ doMerge()
| virtual void Lucene::ConcurrentMergeScheduler::doMerge |
( |
const OneMergePtr & | merge | ) |
|
|
protectedvirtual |
◆ getClassName()
| virtual String Lucene::ConcurrentMergeScheduler::getClassName |
( |
| ) |
|
|
inlinevirtual |
◆ getMaxThreadCount()
| virtual int32_t Lucene::ConcurrentMergeScheduler::getMaxThreadCount |
( |
| ) |
|
|
virtual |
◆ getMergeThread()
◆ getMergeThreadPriority()
| 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.
◆ handleMergeException()
| virtual void Lucene::ConcurrentMergeScheduler::handleMergeException |
( |
const LuceneException & | exc | ) |
|
|
protectedvirtual |
Called when an exception is hit in a background merge thread.
◆ initialize()
| 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.
◆ initMergeThreadPriority()
| virtual void Lucene::ConcurrentMergeScheduler::initMergeThreadPriority |
( |
| ) |
|
|
protectedvirtual |
◆ merge()
| virtual void Lucene::ConcurrentMergeScheduler::merge |
( |
const IndexWriterPtr & | writer | ) |
|
|
virtual |
◆ mergeThreadCount()
| virtual int32_t Lucene::ConcurrentMergeScheduler::mergeThreadCount |
( |
| ) |
|
|
protectedvirtual |
◆ message()
| virtual void Lucene::ConcurrentMergeScheduler::message |
( |
const String & | message | ) |
|
|
protectedvirtual |
◆ setMaxThreadCount()
| 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.
◆ setMergeThreadPriority()
| virtual void Lucene::ConcurrentMergeScheduler::setMergeThreadPriority |
( |
int32_t | pri | ) |
|
|
virtual |
Set the priority that merge threads run at.
◆ setSuppressExceptions()
| void Lucene::ConcurrentMergeScheduler::setSuppressExceptions |
( |
| ) |
|
◆ setTestMode()
| void Lucene::ConcurrentMergeScheduler::setTestMode |
( |
| ) |
|
|
static |
◆ shared_from_this()
◆ sync()
| virtual void Lucene::ConcurrentMergeScheduler::sync |
( |
| ) |
|
|
virtual |
◆ verbose()
| virtual bool Lucene::ConcurrentMergeScheduler::verbose |
( |
| ) |
|
|
protectedvirtual |
◆ _writer
◆ allInstances
◆ anyExceptions
| bool Lucene::ConcurrentMergeScheduler::anyExceptions |
|
staticprotected |
◆ closed
| bool Lucene::ConcurrentMergeScheduler::closed |
|
protected |
◆ dir
◆ maxThreadCount
| int32_t Lucene::ConcurrentMergeScheduler::maxThreadCount |
|
protected |
Max number of threads allowed to be merging at once.
◆ mergeThreadPriority
| int32_t Lucene::ConcurrentMergeScheduler::mergeThreadPriority |
|
protected |
◆ mergeThreads
| SetMergeThread Lucene::ConcurrentMergeScheduler::mergeThreads |
|
protected |
◆ suppressExceptions
| bool Lucene::ConcurrentMergeScheduler::suppressExceptions |
|
protected |
The documentation for this class was generated from the following file: