mirror of https://github.com/apache/lucene.git
LUCENE-4775: move computation of merge bytes size earlier
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1448628 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
92b246b4c0
commit
81213a6ac1
|
@ -3363,6 +3363,18 @@ public class IndexWriter implements Closeable, TwoPhaseCommit {
|
|||
mergingSegments.add(info);
|
||||
}
|
||||
|
||||
assert merge.estimatedMergeBytes == 0;
|
||||
assert merge.totalMergeBytes == 0;
|
||||
for(SegmentInfoPerCommit info : merge.segments) {
|
||||
if (info.info.getDocCount() > 0) {
|
||||
final int delCount = numDeletedDocs(info);
|
||||
assert delCount <= info.info.getDocCount();
|
||||
final double delRatio = ((double) delCount)/info.info.getDocCount();
|
||||
merge.estimatedMergeBytes += info.sizeInBytes() * (1.0 - delRatio);
|
||||
merge.totalMergeBytes += info.sizeInBytes();
|
||||
}
|
||||
}
|
||||
|
||||
// Merge is now registered
|
||||
merge.registerDone = true;
|
||||
|
||||
|
@ -3451,17 +3463,6 @@ public class IndexWriter implements Closeable, TwoPhaseCommit {
|
|||
if (infoStream.isEnabled("IW")) {
|
||||
infoStream.message("IW", "merge seg=" + merge.info.info.name + " " + segString(merge.segments));
|
||||
}
|
||||
|
||||
assert merge.estimatedMergeBytes == 0;
|
||||
for(SegmentInfoPerCommit info : merge.segments) {
|
||||
if (info.info.getDocCount() > 0) {
|
||||
final int delCount = numDeletedDocs(info);
|
||||
assert delCount <= info.info.getDocCount();
|
||||
final double delRatio = ((double) delCount)/info.info.getDocCount();
|
||||
merge.estimatedMergeBytes += info.sizeInBytes() * (1.0 - delRatio);
|
||||
merge.totalMergeBytes += info.sizeInBytes();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void setDiagnostics(SegmentInfo info, String source) {
|
||||
|
|
|
@ -365,6 +365,7 @@ public class TestConcurrentMergeScheduler extends LuceneTestCase {
|
|||
w.deleteDocuments(new Term("id", ""+random().nextInt(i+1)));
|
||||
}
|
||||
}
|
||||
assertTrue(((TrackingCMS) iwc.getMergeScheduler()).totMergedBytes != 0);
|
||||
w.close();
|
||||
d.close();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue