public static class MergePolicy.OneMerge
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) java.lang.Throwable |
error |
long |
estimatedMergeBytes
Estimated size in bytes of the merged segment.
|
(package private) SegmentCommitInfo |
info |
(package private) boolean |
isExternal |
(package private) int |
maxNumSegments |
(package private) long |
mergeGen |
(package private) long |
mergeStartNS |
MergeRateLimiter |
rateLimiter
A private
RateLimiter for this merge, used to rate limit writes and abort. |
(package private) java.util.List<SegmentReader> |
readers |
(package private) boolean |
registerDone |
java.util.List<SegmentCommitInfo> |
segments
Segments to be merged.
|
int |
totalMaxDoc
Total number of documents in segments to be merged, not accounting for deletions.
|
(package private) long |
totalMergeBytes |
Constructor and Description |
---|
OneMerge(java.util.List<SegmentCommitInfo> segments)
Sole constructor.
|
Modifier and Type | Method and Description |
---|---|
MergePolicy.DocMap |
getDocMap(MergeState mergeState)
Expert: If
getMergeReaders() reorders document IDs, this method
must be overridden to return a mapping from the natural doc ID
(the doc ID that would result from a natural merge) to the actual doc
ID. |
(package private) java.lang.Throwable |
getException()
Retrieve previous exception set by
setException(java.lang.Throwable) . |
SegmentCommitInfo |
getMergeInfo()
Returns the
SegmentCommitInfo for the merged segment,
or null if it hasn't been set yet. |
java.util.List<CodecReader> |
getMergeReaders()
Expert: Get the list of readers to merge.
|
MergeInfo |
getStoreMergeInfo()
Return
MergeInfo describing this merge. |
void |
mergeFinished()
Called by
IndexWriter after the merge is done and all readers have been closed. |
java.lang.String |
segString()
Returns a readable description of the current merge
state.
|
(package private) void |
setException(java.lang.Throwable error)
Record that an exception occurred while executing
this merge
|
void |
setMergeInfo(SegmentCommitInfo info)
Expert: Sets the
SegmentCommitInfo of the merged segment. |
long |
totalBytesSize()
Returns the total size in bytes of this merge.
|
int |
totalNumDocs()
Returns the total number of documents that are included with this merge.
|
SegmentCommitInfo info
boolean registerDone
long mergeGen
boolean isExternal
int maxNumSegments
public volatile long estimatedMergeBytes
volatile long totalMergeBytes
java.util.List<SegmentReader> readers
public final java.util.List<SegmentCommitInfo> segments
public final MergeRateLimiter rateLimiter
RateLimiter
for this merge, used to rate limit writes and abort.volatile long mergeStartNS
public final int totalMaxDoc
java.lang.Throwable error
public OneMerge(java.util.List<SegmentCommitInfo> segments)
segments
- List of SegmentCommitInfo
s
to be merged.public void mergeFinished() throws java.io.IOException
IndexWriter
after the merge is done and all readers have been closed.java.io.IOException
public java.util.List<CodecReader> getMergeReaders() throws java.io.IOException
MergePolicy.OneMerge
reorders doc IDs, it must override getDocMap(org.apache.lucene.index.MergeState)
too so that
deletes that happened during the merge can be applied to the newly
merged segment.java.io.IOException
public void setMergeInfo(SegmentCommitInfo info)
SegmentCommitInfo
of the merged segment.
Allows sub-classes to e.g. set diagnostics properties.public SegmentCommitInfo getMergeInfo()
SegmentCommitInfo
for the merged segment,
or null if it hasn't been set yet.public MergePolicy.DocMap getDocMap(MergeState mergeState)
getMergeReaders()
reorders document IDs, this method
must be overridden to return a mapping from the natural doc ID
(the doc ID that would result from a natural merge) to the actual doc
ID. This mapping is used to apply deletions that happened during the
merge to the new segment.void setException(java.lang.Throwable error)
java.lang.Throwable getException()
setException(java.lang.Throwable)
.public java.lang.String segString()
public long totalBytesSize() throws java.io.IOException
java.io.IOException
public int totalNumDocs() throws java.io.IOException
java.io.IOException