GEODE-11: Use backward compatible PriorityQueue init
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/8fa82ab5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/8fa82ab5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/8fa82ab5 Branch: refs/heads/develop Commit: 8fa82ab50585fbed0324fd999b0db41ef87974b6 Parents: a387c7c Author: Ashvin Agrawal <[email protected]> Authored: Wed Sep 30 14:57:55 2015 -0700 Committer: Ashvin Agrawal <[email protected]> Committed: Wed Sep 30 14:57:55 2015 -0700 ---------------------------------------------------------------------- .../internal/distributed/TopEntriesCollectorManager.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8fa82ab5/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/distributed/TopEntriesCollectorManager.java ---------------------------------------------------------------------- diff --git a/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/distributed/TopEntriesCollectorManager.java b/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/distributed/TopEntriesCollectorManager.java index a5e891d..37631c6 100644 --- a/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/distributed/TopEntriesCollectorManager.java +++ b/gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/distributed/TopEntriesCollectorManager.java @@ -50,6 +50,11 @@ public class TopEntriesCollectorManager implements CollectorManager<TopEntriesCo @Override public TopEntriesCollector reduce(Collection<TopEntriesCollector> collectors) throws IOException { + TopEntriesCollector mergedResult = new TopEntriesCollector(id, limit); + if (collectors.isEmpty()) { + return mergedResult; + } + final EntryScoreComparator scoreComparator = new TopEntries().new EntryScoreComparator(); // orders a entry with higher score above a doc with lower score @@ -65,8 +70,7 @@ public class TopEntriesCollectorManager implements CollectorManager<TopEntriesCo // The queue contains iterators for all bucket results. The queue puts the entry with the highest score at the head // using score comparator. PriorityQueue<List<EntryScore>> entryListsPriorityQueue; - entryListsPriorityQueue = new PriorityQueue<List<EntryScore>>(Collections.reverseOrder(entryListComparator)); - TopEntriesCollector mergedResult = new TopEntriesCollector(id, limit); + entryListsPriorityQueue = new PriorityQueue<List<EntryScore>>(collectors.size(), Collections.reverseOrder(entryListComparator)); for (IndexResultCollector collector : collectors) { logger.debug("Number of entries found in collector {} is {}", collector.getName(), collector.size());
