From 1f299408114d35a7101eb59fdcc3b6c9e30d8286 Mon Sep 17 00:00:00 2001 From: Jonathan Wei Date: Wed, 13 Feb 2019 21:32:43 -0800 Subject: [PATCH] Fix momentsketch build issues (#7074) * Fix momentsketch build issues * Remove unused section in pom * Fix test * Remove unused method * Checkstyle --- extensions-contrib/momentsketch/pom.xml | 8 +------- .../momentsketch/MomentSketchModule.java | 14 ++++++++++---- .../org.apache.druid.initialization.DruidModule | 16 ++++++++++++++++ .../aggregator/MomentsSketchAggregatorTest.java | 2 +- .../druid/segment/serde/ComplexMetrics.java | 8 -------- 5 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 extensions-contrib/momentsketch/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule diff --git a/extensions-contrib/momentsketch/pom.xml b/extensions-contrib/momentsketch/pom.xml index b8926413a99..1ec67568985 100644 --- a/extensions-contrib/momentsketch/pom.xml +++ b/extensions-contrib/momentsketch/pom.xml @@ -24,7 +24,7 @@ druid org.apache.druid - 0.14.0-incubating-SNAPSHOT + 0.15.0-incubating-SNAPSHOT ../../pom.xml 4.0.0 @@ -34,12 +34,6 @@ druid-momentsketch Aggregators for the approximate quantile moment sketch - - - UTF-8 - 0.12.2 - - com.github.stanford-futuredata.momentsketch diff --git a/extensions-contrib/momentsketch/src/main/java/org/apache/druid/query/aggregation/momentsketch/MomentSketchModule.java b/extensions-contrib/momentsketch/src/main/java/org/apache/druid/query/aggregation/momentsketch/MomentSketchModule.java index 29f21355d26..ece098e48ad 100644 --- a/extensions-contrib/momentsketch/src/main/java/org/apache/druid/query/aggregation/momentsketch/MomentSketchModule.java +++ b/extensions-contrib/momentsketch/src/main/java/org/apache/druid/query/aggregation/momentsketch/MomentSketchModule.java @@ -22,6 +22,7 @@ package org.apache.druid.query.aggregation.momentsketch; import com.fasterxml.jackson.databind.Module; import com.fasterxml.jackson.databind.jsontype.NamedType; import com.fasterxml.jackson.databind.module.SimpleModule; +import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; import com.google.inject.Binder; import org.apache.druid.initialization.DruidModule; @@ -74,9 +75,14 @@ public class MomentSketchModule implements DruidModule @Override public void configure(Binder binder) { - ComplexMetrics.registerSerde( - MomentSketchAggregatorFactory.TYPE_NAME, - MomentSketchComplexMetricSerde::new - ); + registerSerde(); + } + + @VisibleForTesting + public static void registerSerde() + { + if (ComplexMetrics.getSerdeForType(MomentSketchAggregatorFactory.TYPE_NAME) == null) { + ComplexMetrics.registerSerde(MomentSketchAggregatorFactory.TYPE_NAME, new MomentSketchComplexMetricSerde()); + } } } diff --git a/extensions-contrib/momentsketch/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule b/extensions-contrib/momentsketch/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule new file mode 100644 index 00000000000..8fb117369b0 --- /dev/null +++ b/extensions-contrib/momentsketch/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +org.apache.druid.query.aggregation.momentsketch.MomentSketchModule diff --git a/extensions-contrib/momentsketch/src/test/java/org/apache/druid/query/aggregation/momentsketch/aggregator/MomentsSketchAggregatorTest.java b/extensions-contrib/momentsketch/src/test/java/org/apache/druid/query/aggregation/momentsketch/aggregator/MomentsSketchAggregatorTest.java index 2d5293b7191..3927dd4ffe4 100644 --- a/extensions-contrib/momentsketch/src/test/java/org/apache/druid/query/aggregation/momentsketch/aggregator/MomentsSketchAggregatorTest.java +++ b/extensions-contrib/momentsketch/src/test/java/org/apache/druid/query/aggregation/momentsketch/aggregator/MomentsSketchAggregatorTest.java @@ -55,8 +55,8 @@ public class MomentsSketchAggregatorTest public MomentsSketchAggregatorTest(final GroupByQueryConfig config) { + MomentSketchModule.registerSerde(); DruidModule module = new MomentSketchModule(); - module.configure(null); helper = AggregationTestHelper.createGroupByQueryAggregationTestHelper( module.getJacksonModules(), config, tempFolder); } diff --git a/processing/src/main/java/org/apache/druid/segment/serde/ComplexMetrics.java b/processing/src/main/java/org/apache/druid/segment/serde/ComplexMetrics.java index ba416d6593a..64f37092a71 100644 --- a/processing/src/main/java/org/apache/druid/segment/serde/ComplexMetrics.java +++ b/processing/src/main/java/org/apache/druid/segment/serde/ComplexMetrics.java @@ -24,7 +24,6 @@ import org.apache.druid.java.util.common.ISE; import javax.annotation.Nullable; import java.util.HashMap; import java.util.Map; -import java.util.function.Supplier; /** */ @@ -45,11 +44,4 @@ public class ComplexMetrics } complexSerializers.put(type, serde); } - - public static void registerSerde(String type, Supplier serdeSupplier) - { - if (ComplexMetrics.getSerdeForType(type) == null) { - ComplexMetrics.registerSerde(type, serdeSupplier.get()); - } - } }