From 713062053c527ddeb72c62cbd4ecc53c3265d30f Mon Sep 17 00:00:00 2001 From: Gian Merlino Date: Wed, 23 Mar 2016 12:54:56 -0700 Subject: [PATCH] Filters: Add filter.toFilter method, use that instead of the instanceof chain in Filters. I believe that the instanceof chain in Filters exists because in the past, Filter and DimFilter were in different packages (DimFilter was in druid-client and Filter was in druid-processing). And since druid-client didn't depend on druid-processing, DimFilter couldn't have a toFilter method. But now it can. --- .../FilteredAggregatorFactory.java | 4 +- .../io/druid/query/filter/AndDimFilter.java | 8 ++ .../io/druid/query/filter/BoundDimFilter.java | 7 ++ .../java/io/druid/query/filter/DimFilter.java | 8 ++ .../query/filter/ExtractionDimFilter.java | 7 ++ .../io/druid/query/filter/InDimFilter.java | 27 +++- .../query/filter/JavaScriptDimFilter.java | 7 ++ .../io/druid/query/filter/NoopDimFilter.java | 6 + .../io/druid/query/filter/NotDimFilter.java | 7 ++ .../io/druid/query/filter/OrDimFilter.java | 8 ++ .../io/druid/query/filter/RegexDimFilter.java | 7 ++ .../query/filter/SearchQueryDimFilter.java | 7 ++ .../druid/query/filter/SelectorDimFilter.java | 7 ++ .../druid/query/filter/SpatialDimFilter.java | 7 ++ .../query/groupby/GroupByQueryEngine.java | 2 +- .../druid/query/search/SearchQueryRunner.java | 2 +- .../druid/query/select/SelectQueryEngine.java | 2 +- .../timeseries/TimeseriesQueryEngine.java | 2 +- .../io/druid/query/topn/TopNQueryEngine.java | 2 +- .../java/io/druid/segment/filter/Filters.java | 116 +++++------------- .../filter/ExtractionDimFilterTest.java | 12 +- .../firehose/IngestSegmentFirehose.java | 2 +- 22 files changed, 158 insertions(+), 99 deletions(-) diff --git a/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java b/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java index 98bd33b2bbc2..30bfb9d72d2e 100644 --- a/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java +++ b/processing/src/main/java/io/druid/query/aggregation/FilteredAggregatorFactory.java @@ -60,7 +60,7 @@ public FilteredAggregatorFactory( public Aggregator factorize(ColumnSelectorFactory columnSelectorFactory) { final ValueMatcherFactory valueMatcherFactory = new FilteredAggregatorValueMatcherFactory(columnSelectorFactory); - final ValueMatcher valueMatcher = Filters.convertDimensionFilters(filter).makeMatcher(valueMatcherFactory); + final ValueMatcher valueMatcher = Filters.toFilter(filter).makeMatcher(valueMatcherFactory); return new FilteredAggregator( valueMatcher, delegate.factorize(columnSelectorFactory) @@ -71,7 +71,7 @@ public Aggregator factorize(ColumnSelectorFactory columnSelectorFactory) public BufferAggregator factorizeBuffered(ColumnSelectorFactory columnSelectorFactory) { final ValueMatcherFactory valueMatcherFactory = new FilteredAggregatorValueMatcherFactory(columnSelectorFactory); - final ValueMatcher valueMatcher = Filters.convertDimensionFilters(filter).makeMatcher(valueMatcherFactory); + final ValueMatcher valueMatcher = Filters.toFilter(filter).makeMatcher(valueMatcherFactory); return new FilteredBufferAggregator( valueMatcher, delegate.factorizeBuffered(columnSelectorFactory) diff --git a/processing/src/main/java/io/druid/query/filter/AndDimFilter.java b/processing/src/main/java/io/druid/query/filter/AndDimFilter.java index 0364fa2e4126..cca9dcaf15c1 100644 --- a/processing/src/main/java/io/druid/query/filter/AndDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/AndDimFilter.java @@ -26,6 +26,8 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import io.druid.query.Druids; +import io.druid.segment.filter.AndFilter; +import io.druid.segment.filter.Filters; import java.util.Collections; import java.util.List; @@ -73,6 +75,12 @@ public DimFilter apply(DimFilter input) })).build(); } + @Override + public Filter toFilter() + { + return new AndFilter(Filters.toFilters(fields)); + } + @Override public boolean equals(Object o) { diff --git a/processing/src/main/java/io/druid/query/filter/BoundDimFilter.java b/processing/src/main/java/io/druid/query/filter/BoundDimFilter.java index 7bdc305a1fee..d3c497fe463e 100644 --- a/processing/src/main/java/io/druid/query/filter/BoundDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/BoundDimFilter.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.base.Preconditions; import com.metamx.common.StringUtils; +import io.druid.segment.filter.BoundFilter; import java.nio.ByteBuffer; @@ -133,6 +134,12 @@ public DimFilter optimize() return this; } + @Override + public Filter toFilter() + { + return new BoundFilter(this); + } + @Override public boolean equals(Object o) { diff --git a/processing/src/main/java/io/druid/query/filter/DimFilter.java b/processing/src/main/java/io/druid/query/filter/DimFilter.java index d9a02981e352..ff9450fb852b 100644 --- a/processing/src/main/java/io/druid/query/filter/DimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/DimFilter.java @@ -48,4 +48,12 @@ public interface DimFilter * returning the same filter can be a straightforward default implementation. */ public DimFilter optimize(); + + /** + * Returns a Filter that implements this DimFilter. This does not generally involve optimizing the DimFilter, + * so it does make sense to optimize first and then call toFilter on the resulting DimFilter. + * + * @return a Filter that implements this DimFilter, or null if this DimFilter is a no-op. + */ + public Filter toFilter(); } diff --git a/processing/src/main/java/io/druid/query/filter/ExtractionDimFilter.java b/processing/src/main/java/io/druid/query/filter/ExtractionDimFilter.java index 6e6f551ec216..23e5c05827c9 100644 --- a/processing/src/main/java/io/druid/query/filter/ExtractionDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/ExtractionDimFilter.java @@ -28,6 +28,7 @@ import io.druid.query.extraction.ExtractionFn; import io.druid.query.lookup.LookupExtractionFn; import io.druid.query.lookup.LookupExtractor; +import io.druid.segment.filter.ExtractionFilter; import java.nio.ByteBuffer; import java.util.List; @@ -116,6 +117,12 @@ public DimFilter apply(String input) return this; } + @Override + public Filter toFilter() + { + return new ExtractionFilter(dimension, value, extractionFn); + } + @Override public String toString() { diff --git a/processing/src/main/java/io/druid/query/filter/InDimFilter.java b/processing/src/main/java/io/druid/query/filter/InDimFilter.java index bc4b9eabbe83..eba15b3446b0 100644 --- a/processing/src/main/java/io/druid/query/filter/InDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/InDimFilter.java @@ -21,8 +21,13 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.common.base.Function; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; import com.metamx.common.StringUtils; +import io.druid.segment.filter.OrFilter; +import io.druid.segment.filter.SelectorFilter; import java.nio.ByteBuffer; import java.util.Collections; @@ -70,7 +75,7 @@ public byte[] getCacheKey() .put(DimFilterCacheHelper.IN_CACHE_ID) .put(dimensionBytes) .put(DimFilterCacheHelper.STRING_SEPARATOR); - for (byte [] bytes: valuesBytes) { + for (byte[] bytes : valuesBytes) { filterCacheKey.put(bytes) .put((byte) 0xFF); } @@ -83,6 +88,26 @@ public DimFilter optimize() return this; } + @Override + public Filter toFilter() + { + final List selectorFilters = ImmutableList.copyOf( + Iterables.transform( + values, + new Function() + { + @Override + public Filter apply(String input) + { + return new SelectorFilter(dimension, input); + } + } + ) + ); + + return new OrFilter(selectorFilters); + } + @Override public int hashCode() { diff --git a/processing/src/main/java/io/druid/query/filter/JavaScriptDimFilter.java b/processing/src/main/java/io/druid/query/filter/JavaScriptDimFilter.java index e6aa1461cada..3e8713520143 100644 --- a/processing/src/main/java/io/druid/query/filter/JavaScriptDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/JavaScriptDimFilter.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.base.Preconditions; import com.metamx.common.StringUtils; +import io.druid.segment.filter.JavaScriptFilter; import java.nio.ByteBuffer; @@ -75,6 +76,12 @@ public DimFilter optimize() return this; } + @Override + public Filter toFilter() + { + return new JavaScriptFilter(dimension, function); + } + @Override public String toString() { diff --git a/processing/src/main/java/io/druid/query/filter/NoopDimFilter.java b/processing/src/main/java/io/druid/query/filter/NoopDimFilter.java index ce6e65edbb23..74c72500aa43 100644 --- a/processing/src/main/java/io/druid/query/filter/NoopDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/NoopDimFilter.java @@ -36,4 +36,10 @@ public DimFilter optimize() { return this; } + + @Override + public Filter toFilter() + { + return null; + } } diff --git a/processing/src/main/java/io/druid/query/filter/NotDimFilter.java b/processing/src/main/java/io/druid/query/filter/NotDimFilter.java index 008c954c3738..32cbb658baec 100644 --- a/processing/src/main/java/io/druid/query/filter/NotDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/NotDimFilter.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.base.Preconditions; import io.druid.query.Druids; +import io.druid.segment.filter.NotFilter; import java.nio.ByteBuffer; @@ -61,6 +62,12 @@ public DimFilter optimize() return Druids.newNotDimFilterBuilder().field(this.getField().optimize()).build(); } + @Override + public Filter toFilter() + { + return new NotFilter(field.toFilter()); + } + @Override public boolean equals(Object o) { diff --git a/processing/src/main/java/io/druid/query/filter/OrDimFilter.java b/processing/src/main/java/io/druid/query/filter/OrDimFilter.java index 5016e6e41ad9..410bf309153d 100644 --- a/processing/src/main/java/io/druid/query/filter/OrDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/OrDimFilter.java @@ -26,6 +26,8 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import io.druid.query.Druids; +import io.druid.segment.filter.Filters; +import io.druid.segment.filter.OrFilter; import java.util.Collections; import java.util.List; @@ -73,6 +75,12 @@ public DimFilter apply(DimFilter input) })).build(); } + @Override + public Filter toFilter() + { + return new OrFilter(Filters.toFilters(fields)); + } + @Override public boolean equals(Object o) { diff --git a/processing/src/main/java/io/druid/query/filter/RegexDimFilter.java b/processing/src/main/java/io/druid/query/filter/RegexDimFilter.java index 106f477b3a89..1168efa565e5 100644 --- a/processing/src/main/java/io/druid/query/filter/RegexDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/RegexDimFilter.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.base.Preconditions; import com.metamx.common.StringUtils; +import io.druid.segment.filter.RegexFilter; import java.nio.ByteBuffer; @@ -77,6 +78,12 @@ public DimFilter optimize() return this; } + @Override + public Filter toFilter() + { + return new RegexFilter(dimension, pattern); + } + @Override public String toString() { diff --git a/processing/src/main/java/io/druid/query/filter/SearchQueryDimFilter.java b/processing/src/main/java/io/druid/query/filter/SearchQueryDimFilter.java index 7cb43ee81183..876ba58bba97 100644 --- a/processing/src/main/java/io/druid/query/filter/SearchQueryDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/SearchQueryDimFilter.java @@ -23,6 +23,7 @@ import com.google.common.base.Preconditions; import com.metamx.common.StringUtils; import io.druid.query.search.search.SearchQuerySpec; +import io.druid.segment.filter.SearchQueryFilter; import java.nio.ByteBuffer; @@ -77,6 +78,12 @@ public DimFilter optimize() return this; } + @Override + public Filter toFilter() + { + return new SearchQueryFilter(dimension, query); + } + @Override public String toString() { diff --git a/processing/src/main/java/io/druid/query/filter/SelectorDimFilter.java b/processing/src/main/java/io/druid/query/filter/SelectorDimFilter.java index 93b0002016e1..186cbe88da28 100644 --- a/processing/src/main/java/io/druid/query/filter/SelectorDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/SelectorDimFilter.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.google.common.base.Preconditions; import com.metamx.common.StringUtils; +import io.druid.segment.filter.SelectorFilter; import java.nio.ByteBuffer; @@ -65,6 +66,12 @@ public DimFilter optimize() return this; } + @Override + public Filter toFilter() + { + return new SelectorFilter(dimension, value); + } + @JsonProperty public String getDimension() { diff --git a/processing/src/main/java/io/druid/query/filter/SpatialDimFilter.java b/processing/src/main/java/io/druid/query/filter/SpatialDimFilter.java index 668c685b7551..0bf514abd8ba 100644 --- a/processing/src/main/java/io/druid/query/filter/SpatialDimFilter.java +++ b/processing/src/main/java/io/druid/query/filter/SpatialDimFilter.java @@ -23,6 +23,7 @@ import com.google.common.base.Preconditions; import com.metamx.collections.spatial.search.Bound; import com.metamx.common.StringUtils; +import io.druid.segment.filter.SpatialFilter; import java.nio.ByteBuffer; @@ -78,6 +79,12 @@ public Bound getBound() return bound; } + @Override + public Filter toFilter() + { + return new SpatialFilter(dimension, bound); + } + @Override public boolean equals(Object o) { diff --git a/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java b/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java index 31891eb080e0..110d8bef6d7c 100644 --- a/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java +++ b/processing/src/main/java/io/druid/query/groupby/GroupByQueryEngine.java @@ -95,7 +95,7 @@ public Sequence process(final GroupByQuery query, final StorageAdapter stor } final Sequence cursors = storageAdapter.makeCursors( - Filters.convertDimensionFilters(query.getDimFilter()), + Filters.toFilter(query.getDimFilter()), intervals.get(0), query.getGranularity(), false diff --git a/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java b/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java index 819e8eec1b8d..e6fb921ff024 100644 --- a/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java +++ b/processing/src/main/java/io/druid/query/search/SearchQueryRunner.java @@ -85,7 +85,7 @@ public Sequence> run( } final SearchQuery query = (SearchQuery) input; - final Filter filter = Filters.convertDimensionFilters(query.getDimensionsFilter()); + final Filter filter = Filters.toFilter(query.getDimensionsFilter()); final List dimensions = query.getDimensions(); final SearchQuerySpec searchQuerySpec = query.getQuery(); final int limit = query.getLimit(); diff --git a/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java b/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java index 0bc05f913742..21037a5150a0 100644 --- a/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java +++ b/processing/src/main/java/io/druid/query/select/SelectQueryEngine.java @@ -81,7 +81,7 @@ public Sequence> process(final SelectQuery query, fina return QueryRunnerHelper.makeCursorBasedQuery( adapter, query.getQuerySegmentSpec().getIntervals(), - Filters.convertDimensionFilters(query.getDimensionsFilter()), + Filters.toFilter(query.getDimensionsFilter()), query.isDescending(), query.getGranularity(), new Function>() diff --git a/processing/src/main/java/io/druid/query/timeseries/TimeseriesQueryEngine.java b/processing/src/main/java/io/druid/query/timeseries/TimeseriesQueryEngine.java index 0a4c84759bc7..7bbc9abe6dc7 100644 --- a/processing/src/main/java/io/druid/query/timeseries/TimeseriesQueryEngine.java +++ b/processing/src/main/java/io/druid/query/timeseries/TimeseriesQueryEngine.java @@ -47,7 +47,7 @@ public Sequence> process(final TimeseriesQuery que return QueryRunnerHelper.makeCursorBasedQuery( adapter, query.getQuerySegmentSpec().getIntervals(), - Filters.convertDimensionFilters(query.getDimensionsFilter()), + Filters.toFilter(query.getDimensionsFilter()), query.isDescending(), query.getGranularity(), new Function>() diff --git a/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java b/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java index 0fd9715dc3ba..9626eb853b0b 100644 --- a/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java +++ b/processing/src/main/java/io/druid/query/topn/TopNQueryEngine.java @@ -64,7 +64,7 @@ public Sequence> query(final TopNQuery query, final Stor } final List queryIntervals = query.getQuerySegmentSpec().getIntervals(); - final Filter filter = Filters.convertDimensionFilters(query.getDimensionsFilter()); + final Filter filter = Filters.toFilter(query.getDimensionsFilter()); final QueryGranularity granularity = query.getGranularity(); final Function> mapFn = getMapFn(query, adapter); diff --git a/processing/src/main/java/io/druid/segment/filter/Filters.java b/processing/src/main/java/io/druid/segment/filter/Filters.java index b9b4910deaf9..67f2838d20ec 100644 --- a/processing/src/main/java/io/druid/segment/filter/Filters.java +++ b/processing/src/main/java/io/druid/segment/filter/Filters.java @@ -20,103 +20,51 @@ package io.druid.segment.filter; import com.google.common.base.Function; -import com.google.common.collect.Lists; -import io.druid.query.filter.AndDimFilter; -import io.druid.query.filter.BoundDimFilter; +import com.google.common.collect.ImmutableList; +import com.metamx.common.guava.FunctionalIterable; import io.druid.query.filter.DimFilter; -import io.druid.query.filter.ExtractionDimFilter; import io.druid.query.filter.Filter; -import io.druid.query.filter.InDimFilter; -import io.druid.query.filter.JavaScriptDimFilter; -import io.druid.query.filter.NotDimFilter; -import io.druid.query.filter.OrDimFilter; -import io.druid.query.filter.RegexDimFilter; -import io.druid.query.filter.SearchQueryDimFilter; -import io.druid.query.filter.SelectorDimFilter; -import io.druid.query.filter.SpatialDimFilter; -import javax.annotation.Nullable; import java.util.List; /** */ public class Filters { - public static List convertDimensionFilters(List filters) + /** + * Convert a list of DimFilters to a list of Filters. + * + * @param dimFilters list of DimFilters, should all be non-null + * + * @return list of Filters + */ + public static List toFilters(List dimFilters) { - return Lists.transform( - filters, - new Function() - { - @Override - public Filter apply(@Nullable DimFilter input) - { - return convertDimensionFilters(input); - } - } + return ImmutableList.copyOf( + FunctionalIterable + .create(dimFilters) + .transform( + new Function() + { + @Override + public Filter apply(DimFilter input) + { + return input.toFilter(); + } + } + ) ); } - public static Filter convertDimensionFilters(DimFilter dimFilter) + /** + * Convert a DimFilter to a Filter. + * + * @param dimFilter dimFilter + * + * @return converted filter, or null if input was null + */ + public static Filter toFilter(DimFilter dimFilter) { - if (dimFilter == null) { - return null; - } - - Filter filter = null; - if (dimFilter instanceof AndDimFilter) { - filter = new AndFilter(convertDimensionFilters(((AndDimFilter) dimFilter).getFields())); - } else if (dimFilter instanceof OrDimFilter) { - filter = new OrFilter(convertDimensionFilters(((OrDimFilter) dimFilter).getFields())); - } else if (dimFilter instanceof NotDimFilter) { - filter = new NotFilter(convertDimensionFilters(((NotDimFilter) dimFilter).getField())); - } else if (dimFilter instanceof SelectorDimFilter) { - final SelectorDimFilter selectorDimFilter = (SelectorDimFilter) dimFilter; - - filter = new SelectorFilter(selectorDimFilter.getDimension(), selectorDimFilter.getValue()); - } else if (dimFilter instanceof ExtractionDimFilter) { - final ExtractionDimFilter extractionDimFilter = (ExtractionDimFilter) dimFilter; - - filter = new ExtractionFilter( - extractionDimFilter.getDimension(), - extractionDimFilter.getValue(), - extractionDimFilter.getExtractionFn() - ); - } else if (dimFilter instanceof RegexDimFilter) { - final RegexDimFilter regexDimFilter = (RegexDimFilter) dimFilter; - - filter = new RegexFilter(regexDimFilter.getDimension(), regexDimFilter.getPattern()); - } else if (dimFilter instanceof SearchQueryDimFilter) { - final SearchQueryDimFilter searchQueryFilter = (SearchQueryDimFilter) dimFilter; - - filter = new SearchQueryFilter(searchQueryFilter.getDimension(), searchQueryFilter.getQuery()); - } else if (dimFilter instanceof JavaScriptDimFilter) { - final JavaScriptDimFilter javaScriptDimFilter = (JavaScriptDimFilter) dimFilter; - - filter = new JavaScriptFilter(javaScriptDimFilter.getDimension(), javaScriptDimFilter.getFunction()); - } else if (dimFilter instanceof SpatialDimFilter) { - final SpatialDimFilter spatialDimFilter = (SpatialDimFilter) dimFilter; - - filter = new SpatialFilter(spatialDimFilter.getDimension(), spatialDimFilter.getBound()); - } else if (dimFilter instanceof InDimFilter) { - final InDimFilter inDimFilter = (InDimFilter) dimFilter; - final List listFilters = Lists.transform( - inDimFilter.getValues(), new Function() - { - @Nullable - @Override - public Filter apply(@Nullable String input) - { - return new SelectorFilter(inDimFilter.getDimension(), input); - } - } - ); - - filter = new OrFilter(listFilters); - } else if (dimFilter instanceof BoundDimFilter) { - filter = new BoundFilter((BoundDimFilter) dimFilter); - } - - return filter; + return dimFilter == null ? null : dimFilter.toFilter(); } } diff --git a/processing/src/test/java/io/druid/segment/filter/ExtractionDimFilterTest.java b/processing/src/test/java/io/druid/segment/filter/ExtractionDimFilterTest.java index f3caebd984a5..e1c6354dab23 100644 --- a/processing/src/test/java/io/druid/segment/filter/ExtractionDimFilterTest.java +++ b/processing/src/test/java/io/druid/segment/filter/ExtractionDimFilterTest.java @@ -172,7 +172,7 @@ public void testNormal() public void testOr() { Assert.assertEquals( - 1, Filters.convertDimensionFilters( + 1, Filters.toFilter( DimFilters.or( new ExtractionDimFilter( "foo", @@ -186,7 +186,7 @@ public void testOr() Assert.assertEquals( 1, - Filters.convertDimensionFilters( + Filters.toFilter( DimFilters.or( new ExtractionDimFilter( "foo", @@ -209,7 +209,7 @@ public void testOr() public void testAnd() { Assert.assertEquals( - 1, Filters.convertDimensionFilters( + 1, Filters.toFilter( DimFilters.or( new ExtractionDimFilter( "foo", @@ -223,7 +223,7 @@ public void testAnd() Assert.assertEquals( 1, - Filters.convertDimensionFilters( + Filters.toFilter( DimFilters.and( new ExtractionDimFilter( "foo", @@ -247,7 +247,7 @@ public void testNot() { Assert.assertEquals( - 1, Filters.convertDimensionFilters( + 1, Filters.toFilter( DimFilters.or( new ExtractionDimFilter( "foo", @@ -261,7 +261,7 @@ public void testNot() Assert.assertEquals( 1, - Filters.convertDimensionFilters( + Filters.toFilter( DimFilters.not( new ExtractionDimFilter( "foo", diff --git a/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java b/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java index 14a490776936..be34ddc92b2f 100644 --- a/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java +++ b/server/src/main/java/io/druid/segment/realtime/firehose/IngestSegmentFirehose.java @@ -73,7 +73,7 @@ public Sequence apply(WindowedStorageAdapter adapter) return Sequences.concat( Sequences.map( adapter.getAdapter().makeCursors( - Filters.convertDimensionFilters(dimFilter), + Filters.toFilter(dimFilter), adapter.getInterval(), granularity, false