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());
- }
- }
}