Module org.elasticsearch.server
Package org.elasticsearch.index.engine
Class ElasticsearchReaderManager
java.lang.Object
org.apache.lucene.search.ReferenceManager<ElasticsearchDirectoryReader>
org.elasticsearch.index.engine.ElasticsearchReaderManager
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class ElasticsearchReaderManager
extends org.apache.lucene.search.ReferenceManager<ElasticsearchDirectoryReader>
Utility class to safely share
ElasticsearchDirectoryReader
instances across
multiple threads, while periodically reopening. This class ensures each
reader is closed only once all threads have finished using it.- See Also:
-
SearcherManager
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.ReferenceManager
org.apache.lucene.search.ReferenceManager.RefreshListener
-
Field Summary
Fields inherited from class org.apache.lucene.search.ReferenceManager
current
-
Constructor Summary
ConstructorsConstructorDescriptionCreates and returns a new ElasticsearchReaderManager from the given already-openedElasticsearchDirectoryReader
, stealing the incoming reference. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
decRef
(ElasticsearchDirectoryReader reference) protected int
getRefCount
(ElasticsearchDirectoryReader reference) protected ElasticsearchDirectoryReader
refreshIfNeeded
(ElasticsearchDirectoryReader referenceToRefresh) protected boolean
tryIncRef
(ElasticsearchDirectoryReader reference) Methods inherited from class org.apache.lucene.search.ReferenceManager
acquire, addListener, afterClose, afterMaybeRefresh, close, maybeRefresh, maybeRefreshBlocking, release, removeListener
-
Constructor Details
-
ElasticsearchReaderManager
Creates and returns a new ElasticsearchReaderManager from the given already-openedElasticsearchDirectoryReader
, stealing the incoming reference.- Parameters:
reader
- the directoryReader to use for future reopens
-
-
Method Details
-
decRef
- Specified by:
decRef
in classorg.apache.lucene.search.ReferenceManager<ElasticsearchDirectoryReader>
- Throws:
IOException
-
refreshIfNeeded
protected ElasticsearchDirectoryReader refreshIfNeeded(ElasticsearchDirectoryReader referenceToRefresh) throws IOException - Specified by:
refreshIfNeeded
in classorg.apache.lucene.search.ReferenceManager<ElasticsearchDirectoryReader>
- Throws:
IOException
-
tryIncRef
- Specified by:
tryIncRef
in classorg.apache.lucene.search.ReferenceManager<ElasticsearchDirectoryReader>
-
getRefCount
- Specified by:
getRefCount
in classorg.apache.lucene.search.ReferenceManager<ElasticsearchDirectoryReader>
-