class IndexWriter.ReaderPool
extends java.lang.Object
implements java.io.Closeable
Modifier and Type | Field and Description |
---|---|
private java.util.Map<SegmentCommitInfo,ReadersAndUpdates> |
readerMap |
private java.util.concurrent.atomic.AtomicBoolean |
writeDocValuesLock |
Constructor and Description |
---|
ReaderPool() |
Modifier and Type | Method and Description |
---|---|
boolean |
anyChanges() |
boolean |
anyPendingDeletes() |
boolean |
assertInfoIsLive(SegmentCommitInfo info)
Asserts this info still exists in IW's segment infos
|
void |
close() |
void |
commit(SegmentInfos infos)
Commit live docs changes for the segment readers for
the provided infos.
|
void |
drop(SegmentCommitInfo info) |
(package private) void |
dropAll(boolean doSave)
Remove all our references to readers, and commits
any pending changes.
|
ReadersAndUpdates |
get(SegmentCommitInfo info,
boolean create)
Obtain a ReadersAndLiveDocs instance from the
readerPool.
|
private boolean |
noDups() |
long |
ramBytesUsed() |
void |
release(ReadersAndUpdates rld) |
void |
release(ReadersAndUpdates rld,
boolean assertInfoLive) |
(package private) void |
writeAllDocValuesUpdates() |
(package private) void |
writeDocValuesUpdatesForMerge(java.util.List<SegmentCommitInfo> infos) |
(package private) void |
writeSomeDocValuesUpdates() |
private final java.util.Map<SegmentCommitInfo,ReadersAndUpdates> readerMap
private final java.util.concurrent.atomic.AtomicBoolean writeDocValuesLock
public boolean assertInfoIsLive(SegmentCommitInfo info)
public void drop(SegmentCommitInfo info) throws java.io.IOException
java.io.IOException
public long ramBytesUsed()
public boolean anyPendingDeletes()
public void release(ReadersAndUpdates rld) throws java.io.IOException
java.io.IOException
public void release(ReadersAndUpdates rld, boolean assertInfoLive) throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
java.io.IOException
void writeAllDocValuesUpdates() throws java.io.IOException
java.io.IOException
void writeDocValuesUpdatesForMerge(java.util.List<SegmentCommitInfo> infos) throws java.io.IOException
java.io.IOException
void writeSomeDocValuesUpdates() throws java.io.IOException
java.io.IOException
void dropAll(boolean doSave) throws java.io.IOException
java.io.IOException
public void commit(SegmentInfos infos) throws java.io.IOException
java.io.IOException
- If there is a low-level I/O errorpublic boolean anyChanges()
public ReadersAndUpdates get(SegmentCommitInfo info, boolean create)
release(ReadersAndUpdates)
.private boolean noDups()