mirror of https://github.com/apache/druid.git
assume segment intervals have already been filtered based on query interval
This commit is contained in:
parent
e9f546c4ca
commit
6b87ef2921
|
@ -21,7 +21,6 @@ package com.metamx.druid.query.timeboundary;
|
|||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Functions;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Ordering;
|
||||
|
@ -39,15 +38,12 @@ import com.metamx.druid.query.QueryToolChest;
|
|||
import com.metamx.druid.query.segment.SegmentDescriptor;
|
||||
import com.metamx.druid.result.Result;
|
||||
import com.metamx.druid.result.TimeBoundaryResultValue;
|
||||
import com.metamx.druid.utils.JodaUtils;
|
||||
import com.metamx.emitter.service.ServiceMetricEvent;
|
||||
import org.codehaus.jackson.type.TypeReference;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Interval;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
@ -77,27 +73,24 @@ public class TimeBoundaryQueryQueryToolChest
|
|||
// keep track of all segments in a given shard
|
||||
Map<String, Set<SegmentDescriptor>> segmentGroups = Maps.newHashMap();
|
||||
|
||||
Iterable<Interval> condensedIntervals = JodaUtils.condenseIntervals(query.getIntervals());
|
||||
for(SegmentDescriptor e : input) {
|
||||
if(Iterables.isEmpty(condensedIntervals) || JodaUtils.overlaps(e.getInterval(), condensedIntervals)) {
|
||||
final long start = e.getInterval().getStartMillis();
|
||||
final long end = e.getInterval().getEndMillis();
|
||||
final String version = e.getVersion();
|
||||
final long start = e.getInterval().getStartMillis();
|
||||
final long end = e.getInterval().getEndMillis();
|
||||
final String version = e.getVersion();
|
||||
|
||||
if(segmentGroups.containsKey(version)) {
|
||||
segmentGroups.get(version).add(e);
|
||||
} else {
|
||||
segmentGroups.put(version, Sets.newHashSet(e));
|
||||
}
|
||||
if(segmentGroups.containsKey(version)) {
|
||||
segmentGroups.get(version).add(e);
|
||||
} else {
|
||||
segmentGroups.put(version, Sets.newHashSet(e));
|
||||
}
|
||||
|
||||
if(min == null || start < minMillis) {
|
||||
min = e;
|
||||
minMillis = start;
|
||||
}
|
||||
if(max == null || end > maxMillis) {
|
||||
max = e;
|
||||
maxMillis = end;
|
||||
}
|
||||
if(min == null || start < minMillis) {
|
||||
min = e;
|
||||
minMillis = start;
|
||||
}
|
||||
if(max == null || end > maxMillis) {
|
||||
max = e;
|
||||
maxMillis = end;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue