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) java.util.List<Bits> |
hardLiveDocs |
(package private) SegmentCommitInfo |
info |
(package private) boolean |
isExternal |
(package private) int |
maxNumSegments |
(package private) long |
mergeGen |
private MergePolicy.OneMergeProgress |
mergeProgress
Control used to pause/stop/resume the merge thread.
|
(package private) long |
mergeStartNS |
(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 |
---|---|
void |
checkAborted()
Checks if merge has been aborted and throws a merge exception if so.
|
(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. |
MergePolicy.OneMergeProgress |
getMergeProgress()
Returns a
MergePolicy.OneMergeProgress instance for this merge, which provides
statistics of the merge threads (run time vs. |
MergeInfo |
getStoreMergeInfo()
Return
MergeInfo describing this merge. |
boolean |
isAborted()
Returns true if this merge was or should be aborted.
|
void |
mergeFinished()
Called by
IndexWriter after the merge is done and all readers have been closed. |
void |
mergeInit()
Called by
IndexWriter after the merge started and from the
thread that will be executing the merge. |
java.lang.String |
segString()
Returns a readable description of the current merge
state.
|
void |
setAborted()
Marks this merge as aborted.
|
(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.
|
CodecReader |
wrapForMerge(CodecReader reader)
Wrap the reader in order to add/remove information to the merged segment.
|
SegmentCommitInfo info
boolean registerDone
long mergeGen
boolean isExternal
int maxNumSegments
public volatile long estimatedMergeBytes
volatile long totalMergeBytes
java.util.List<SegmentReader> readers
java.util.List<Bits> hardLiveDocs
public final java.util.List<SegmentCommitInfo> segments
private final MergePolicy.OneMergeProgress mergeProgress
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 mergeInit() throws java.io.IOException
IndexWriter
after the merge started and from the
thread that will be executing the merge.java.io.IOException
public void mergeFinished() throws java.io.IOException
IndexWriter
after the merge is done and all readers have been closed.java.io.IOException
public CodecReader wrapForMerge(CodecReader reader) throws java.io.IOException
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.void setException(java.lang.Throwable error)
java.lang.Throwable getException()
setException(java.lang.Throwable)
.public java.lang.String segString()
public long totalBytesSize()
public int totalNumDocs()
public boolean isAborted()
public void setAborted()
public void checkAborted() throws MergePolicy.MergeAbortedException
public MergePolicy.OneMergeProgress getMergeProgress()
MergePolicy.OneMergeProgress
instance for this merge, which provides
statistics of the merge threads (run time vs. sleep time) if merging is throttled.