You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by to...@apache.org on 2017/08/01 13:01:38 UTC
lucene-solr:master: LUCENE-7915 - avoid looping over merges on best
merge selection
Repository: lucene-solr
Updated Branches:
refs/heads/master 9422da26e -> 59997091c
LUCENE-7915 - avoid looping over merges on best merge selection
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/59997091
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/59997091
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/59997091
Branch: refs/heads/master
Commit: 59997091c8f991b55899d6feb5d5c05e720f78a7
Parents: 9422da2
Author: Tommaso Teofili <to...@apache.org>
Authored: Tue Aug 1 15:00:25 2017 +0200
Committer: Tommaso Teofili <to...@apache.org>
Committed: Tue Aug 1 15:01:21 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/lucene/index/TieredMergePolicy.java | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/59997091/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java b/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
index c020a6d..bba57ef 100644
--- a/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
+++ b/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java
@@ -298,7 +298,7 @@ public class TieredMergePolicy extends MergePolicy {
// call size() once per segment and sort by that:
Map<SegmentCommitInfo,Long> sizeInBytes = getSegmentSizes(writer, infos.asList());
- Collections.sort(infosSorted, new SegmentByteSizeDescending(sizeInBytes));
+ infosSorted.sort(new SegmentByteSizeDescending(sizeInBytes));
// Compute total index bytes & print details about the index
long totIndexBytes = 0;
@@ -439,9 +439,7 @@ public class TieredMergePolicy extends MergePolicy {
}
final OneMerge merge = new OneMerge(best);
spec.add(merge);
- for(SegmentCommitInfo info : merge.segments) {
- toBeMerged.add(info);
- }
+ toBeMerged.addAll(merge.segments);
if (verbose(writer)) {
message(" add merge=" + writer.segString(merge.segments) + " size=" + String.format(Locale.ROOT, "%.3f MB", bestMergeBytes/1024./1024.) + " score=" + String.format(Locale.ROOT, "%.3f", bestScore.getScore()) + " " + bestScore.getExplanation() + (bestTooLarge ? " [max merge]" : ""), writer);
@@ -553,7 +551,7 @@ public class TieredMergePolicy extends MergePolicy {
return null;
}
- Collections.sort(eligible, new SegmentByteSizeDescending(sizeInBytes));
+ eligible.sort(new SegmentByteSizeDescending(sizeInBytes));
if (verbose(writer)) {
message("eligible=" + eligible, writer);
@@ -614,7 +612,7 @@ public class TieredMergePolicy extends MergePolicy {
// call size() once per segment and sort by that:
Map<SegmentCommitInfo,Long> sizeInBytes = getSegmentSizes(writer, infos.asList());
- Collections.sort(eligible, new SegmentByteSizeDescending(sizeInBytes));
+ eligible.sort(new SegmentByteSizeDescending(sizeInBytes));
if (verbose(writer)) {
message("eligible=" + eligible, writer);