private static AggregatorFactory[] createMetricsSpec( List<Pair<QueryableIndex, DataSegment>> queryableIndexAndSegments ) { final List<AggregatorFactory[]> aggregatorFactories = queryableIndexAndSegments .stream() .map(pair -> pair.lhs.getMetadata().getAggregators()) // We have already done null check on index.getMetadata() .collect(Collectors.toList()); final AggregatorFactory[] mergedAggregators = AggregatorFactory.mergeAggregators(aggregatorFactories); if (mergedAggregators == null) { throw new ISE("Failed to merge aggregators[%s]", aggregatorFactories); } return mergedAggregators; }
AggregatorFactory.mergeAggregators(aggregatorsToMerge);
@Test public void testMergeAggregators() Assert.assertNull(AggregatorFactory.mergeAggregators(null)); Assert.assertNull(AggregatorFactory.mergeAggregators(ImmutableList.of())); Assert.assertNull(AggregatorFactory.mergeAggregators(aggregatorsToBeMerged)); Assert.assertArrayEquals(emptyAggFactory, AggregatorFactory.mergeAggregators(aggregatorsToBeMerged)); Assert.assertNull(AggregatorFactory.mergeAggregators(aggregatorsToBeMerged)); new LongMaxAggregatorFactory("name", "name") }, AggregatorFactory.mergeAggregators(ImmutableList.of(af1, af2)) ); new DoubleMaxAggregatorFactory("name", "fieldName2") }; Assert.assertNull(AggregatorFactory.mergeAggregators(ImmutableList.of(af1, af2)) );
.toArray(new AggregatorFactory[0]) : null; final AggregatorFactory[] merged = AggregatorFactory.mergeAggregators(Arrays.asList(aggs1, aggs2)); if (merged != null) { for (AggregatorFactory aggregator : merged) {
AggregatorFactory.mergeAggregators(aggregatorsToMerge);
.toArray(new AggregatorFactory[0]) : null; final AggregatorFactory[] merged = AggregatorFactory.mergeAggregators(Arrays.asList(aggs1, aggs2)); if (merged != null) { for (AggregatorFactory aggregator : merged) {
final AggregatorFactory[] mergedAggregators = AggregatorFactory.mergeAggregators(aggregatorFactories);