class BufferedUpdatesStream extends java.lang.Object implements Accountable
Modifier and Type | Class and Description |
---|---|
static class |
BufferedUpdatesStream.ApplyDeletesResult |
static class |
BufferedUpdatesStream.QueryAndLimit |
(package private) static class |
BufferedUpdatesStream.SegmentQueue
Does a merge sort by current term across all segments.
|
(package private) static class |
BufferedUpdatesStream.SegmentState |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.atomic.AtomicLong |
bytesUsed |
private InfoStream |
infoStream |
private BytesRef |
lastDeleteTerm |
private long |
nextGen |
private java.util.concurrent.atomic.AtomicInteger |
numTerms |
private static java.util.Comparator<SegmentCommitInfo> |
sortSegInfoByDelGen |
private java.util.List<FrozenBufferedUpdates> |
updates |
Constructor and Description |
---|
BufferedUpdatesStream(InfoStream infoStream) |
Modifier and Type | Method and Description |
---|---|
boolean |
any() |
BufferedUpdatesStream.ApplyDeletesResult |
applyDeletesAndUpdates(IndexWriter.ReaderPool pool,
java.util.List<SegmentCommitInfo> infos)
Resolves the buffered deleted Term/Query/docIDs, into
actual deleted docIDs in the liveDocs MutableBits for
each SegmentReader.
|
private void |
applyDocValuesUpdates(java.util.List<DocValuesUpdate> updates,
BufferedUpdatesStream.SegmentState segState,
DocValuesFieldUpdates.Container dvUpdatesContainer) |
private void |
applyDocValuesUpdatesList(java.util.List<java.util.List<DocValuesUpdate>> updates,
BufferedUpdatesStream.SegmentState segState,
DocValuesFieldUpdates.Container dvUpdatesContainer) |
private static long |
applyQueryDeletes(java.lang.Iterable<BufferedUpdatesStream.QueryAndLimit> queriesIter,
BufferedUpdatesStream.SegmentState segState) |
private long |
applyTermDeletes(CoalescedUpdates updates,
BufferedUpdatesStream.SegmentState[] segStates)
Merge sorts the deleted terms and all segments to resolve terms to docIDs for deletion.
|
private boolean |
checkDeleteStats() |
private boolean |
checkDeleteTerm(BytesRef term) |
void |
clear() |
private BufferedUpdatesStream.ApplyDeletesResult |
closeSegmentStates(IndexWriter.ReaderPool pool,
BufferedUpdatesStream.SegmentState[] segStates,
boolean success,
long gen)
Close segment states previously opened with openSegmentStates.
|
(package private) long |
getNextGen() |
int |
numTerms() |
private BufferedUpdatesStream.SegmentState[] |
openSegmentStates(IndexWriter.ReaderPool pool,
java.util.List<SegmentCommitInfo> infos)
Opens SegmentReader and inits SegmentState for each segment.
|
private void |
prune(int count) |
void |
prune(SegmentInfos segmentInfos) |
long |
push(FrozenBufferedUpdates packet) |
long |
ramBytesUsed()
Return the memory usage of this object in bytes.
|
private java.util.List<SegmentCommitInfo> |
sortByDelGen(java.util.List<SegmentCommitInfo> infos) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getChildResources
private final java.util.List<FrozenBufferedUpdates> updates
private long nextGen
private BytesRef lastDeleteTerm
private final InfoStream infoStream
private final java.util.concurrent.atomic.AtomicLong bytesUsed
private final java.util.concurrent.atomic.AtomicInteger numTerms
private static final java.util.Comparator<SegmentCommitInfo> sortSegInfoByDelGen
public BufferedUpdatesStream(InfoStream infoStream)
public long push(FrozenBufferedUpdates packet)
public void clear()
public boolean any()
public int numTerms()
public long ramBytesUsed()
Accountable
ramBytesUsed
in interface Accountable
public BufferedUpdatesStream.ApplyDeletesResult applyDeletesAndUpdates(IndexWriter.ReaderPool pool, java.util.List<SegmentCommitInfo> infos) throws java.io.IOException
java.io.IOException
private java.util.List<SegmentCommitInfo> sortByDelGen(java.util.List<SegmentCommitInfo> infos)
long getNextGen()
public void prune(SegmentInfos segmentInfos)
private void prune(int count)
private BufferedUpdatesStream.SegmentState[] openSegmentStates(IndexWriter.ReaderPool pool, java.util.List<SegmentCommitInfo> infos) throws java.io.IOException
java.io.IOException
private BufferedUpdatesStream.ApplyDeletesResult closeSegmentStates(IndexWriter.ReaderPool pool, BufferedUpdatesStream.SegmentState[] segStates, boolean success, long gen) throws java.io.IOException
java.io.IOException
private long applyTermDeletes(CoalescedUpdates updates, BufferedUpdatesStream.SegmentState[] segStates) throws java.io.IOException
java.io.IOException
private void applyDocValuesUpdatesList(java.util.List<java.util.List<DocValuesUpdate>> updates, BufferedUpdatesStream.SegmentState segState, DocValuesFieldUpdates.Container dvUpdatesContainer) throws java.io.IOException
java.io.IOException
private void applyDocValuesUpdates(java.util.List<DocValuesUpdate> updates, BufferedUpdatesStream.SegmentState segState, DocValuesFieldUpdates.Container dvUpdatesContainer) throws java.io.IOException
java.io.IOException
private static long applyQueryDeletes(java.lang.Iterable<BufferedUpdatesStream.QueryAndLimit> queriesIter, BufferedUpdatesStream.SegmentState segState) throws java.io.IOException
java.io.IOException
private boolean checkDeleteTerm(BytesRef term)
private boolean checkDeleteStats()