private File merge( List<IndexableAdapter> indexes, final boolean rollup, final AggregatorFactory[] metricAggs, File outDir, IndexSpec indexSpec, ProgressIndicator progress, @Nullable SegmentWriteOutMediumFactory segmentWriteOutMediumFactory ) throws IOException { FileUtils.deleteDirectory(outDir); FileUtils.forceMkdir(outDir); final List<String> mergedDimensions = IndexMerger.getMergedDimensions(indexes); final List<String> mergedMetrics = IndexMerger.mergeIndexed( indexes.stream().map(IndexableAdapter::getMetricNames).collect(Collectors.toList()) ); final AggregatorFactory[] sortedMetricAggs = new AggregatorFactory[mergedMetrics.size()]; for (AggregatorFactory metricAgg : metricAggs) { int metricIndex = mergedMetrics.indexOf(metricAgg.getName()); /* If metricIndex is negative, one of the metricAggs was not present in the union of metrics from the indices we are merging */ if (metricIndex > -1) { sortedMetricAggs[metricIndex] = metricAgg; } }
) throws IOException return merge( IndexMerger.toIndexableAdapters(indexes), rollup,
) throws IOException return merge( IndexMerger.toIndexableAdapters(indexes), rollup,
try { final QueryableIndex merged = TestHelper.getTestIndexIO().loadIndex( TestHelper.getTestIndexMergerV9(OffHeapMemorySegmentWriteOutMediumFactory.instance()).merge( indexes.stream().map(QueryableIndexIndexableAdapter::new).collect(Collectors.toList()), false,
return merge( Collections.singletonList( new IncrementalIndexAdapter(
new ConciseBitmapFactory() ); TestHelper.getTestIndexMergerV9(segmentWriteOutMediumFactory).merge( Collections.singletonList(emptyIndexAdapter), true,
private File merge( List<IndexableAdapter> indexes, final boolean rollup, final AggregatorFactory[] metricAggs, File outDir, IndexSpec indexSpec, ProgressIndicator progress, @Nullable SegmentWriteOutMediumFactory segmentWriteOutMediumFactory ) throws IOException { FileUtils.deleteDirectory(outDir); FileUtils.forceMkdir(outDir); final List<String> mergedDimensions = IndexMerger.getMergedDimensions(indexes); final List<String> mergedMetrics = IndexMerger.mergeIndexed( indexes.stream().map(IndexableAdapter::getMetricNames).collect(Collectors.toList()) ); final AggregatorFactory[] sortedMetricAggs = new AggregatorFactory[mergedMetrics.size()]; for (AggregatorFactory metricAgg : metricAggs) { int metricIndex = mergedMetrics.indexOf(metricAgg.getName()); /* If metricIndex is negative, one of the metricAggs was not present in the union of metrics from the indices we are merging */ if (metricIndex > -1) { sortedMetricAggs[metricIndex] = metricAgg; } }
return merge( Collections.singletonList( new IncrementalIndexAdapter(