You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by fj...@apache.org on 2019/04/25 05:11:51 UTC
[incubator-druid] branch 0.14.1-incubating updated: Fix
aggregatorFactory meta merge exception (#7504) (#7544)
This is an automated email from the ASF dual-hosted git repository.
fjy pushed a commit to branch 0.14.1-incubating
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/0.14.1-incubating by this push:
new 58dcb23 Fix aggregatorFactory meta merge exception (#7504) (#7544)
58dcb23 is described below
commit 58dcb23603d6a83b095fca5a2f7d88785da7488e
Author: Clint Wylie <cj...@gmail.com>
AuthorDate: Wed Apr 24 22:11:41 2019 -0700
Fix aggregatorFactory meta merge exception (#7504) (#7544)
---
.../hll/HllSketchMergeAggregatorFactory.java | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeAggregatorFactory.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeAggregatorFactory.java
index f1a0b1a..b82b35b 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeAggregatorFactory.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeAggregatorFactory.java
@@ -25,6 +25,8 @@ import com.yahoo.sketches.hll.HllSketch;
import com.yahoo.sketches.hll.TgtHllType;
import com.yahoo.sketches.hll.Union;
import org.apache.druid.query.aggregation.Aggregator;
+import org.apache.druid.query.aggregation.AggregatorFactory;
+import org.apache.druid.query.aggregation.AggregatorFactoryNotMergeableException;
import org.apache.druid.query.aggregation.AggregatorUtil;
import org.apache.druid.query.aggregation.BufferAggregator;
import org.apache.druid.segment.ColumnSelectorFactory;
@@ -52,6 +54,23 @@ public class HllSketchMergeAggregatorFactory extends HllSketchAggregatorFactory
}
@Override
+ public AggregatorFactory getMergingFactory(AggregatorFactory other) throws AggregatorFactoryNotMergeableException
+ {
+ if (other.getName().equals(this.getName()) && other instanceof HllSketchMergeAggregatorFactory) {
+ HllSketchMergeAggregatorFactory castedOther = (HllSketchMergeAggregatorFactory) other;
+
+ return new HllSketchMergeAggregatorFactory(
+ getName(),
+ getName(),
+ Math.max(getLgK(), castedOther.getLgK()),
+ getTgtHllType().compareTo(castedOther.getTgtHllType()) < 0 ? castedOther.getTgtHllType() : getTgtHllType()
+ );
+ } else {
+ throw new AggregatorFactoryNotMergeableException(this, other);
+ }
+ }
+
+ @Override
public String getTypeName()
{
return HllSketchModule.MERGE_TYPE_NAME;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org