Merge main into multi-project

This commit is contained in:
Yang Wang 2025-02-05 11:03:29 +11:00
commit fee57daf53
138 changed files with 3093 additions and 2289 deletions

View file

@ -10,18 +10,18 @@ package org.elasticsearch.xpack.downsample;
import org.elasticsearch.index.fielddata.IndexFieldData;
import org.elasticsearch.index.mapper.MappedFieldType;
import org.elasticsearch.index.mapper.NumberFieldMapper;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateDoubleMetricFieldMapper;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateDoubleMetricFieldMapper.AggregateDoubleMetricFieldType;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateMetricDoubleFieldMapper;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateMetricDoubleFieldMapper.AggregateMetricDoubleFieldType;
public final class AggregateMetricFieldValueFetcher extends FieldValueFetcher {
private final AggregateDoubleMetricFieldType aggMetricFieldType;
private final AggregateMetricDoubleFieldType aggMetricFieldType;
private final AbstractDownsampleFieldProducer fieldProducer;
AggregateMetricFieldValueFetcher(
MappedFieldType fieldType,
AggregateDoubleMetricFieldType aggMetricFieldType,
AggregateMetricDoubleFieldType aggMetricFieldType,
IndexFieldData<?> fieldData
) {
super(fieldType.name(), fieldType, fieldData);
@ -34,7 +34,7 @@ public final class AggregateMetricFieldValueFetcher extends FieldValueFetcher {
}
private AbstractDownsampleFieldProducer createFieldProducer() {
AggregateDoubleMetricFieldMapper.Metric metric = null;
AggregateMetricDoubleFieldMapper.Metric metric = null;
for (var e : aggMetricFieldType.getMetricFields().entrySet()) {
NumberFieldMapper.NumberFieldType metricSubField = e.getValue();
if (metricSubField.name().equals(name())) {
@ -52,7 +52,7 @@ public final class AggregateMetricFieldValueFetcher extends FieldValueFetcher {
case min -> new MetricFieldProducer.Min();
case sum -> new MetricFieldProducer.Sum();
// To compute value_count summary, we must sum all field values
case value_count -> new MetricFieldProducer.Sum(AggregateDoubleMetricFieldMapper.Metric.value_count.name());
case value_count -> new MetricFieldProducer.Sum(AggregateMetricDoubleFieldMapper.Metric.value_count.name());
};
return new MetricFieldProducer.GaugeMetricFieldProducer(aggMetricFieldType.name(), metricOperation);
} else {

View file

@ -15,7 +15,7 @@ import org.elasticsearch.index.mapper.NumberFieldMapper;
import org.elasticsearch.index.mapper.flattened.FlattenedFieldMapper;
import org.elasticsearch.index.query.SearchExecutionContext;
import org.elasticsearch.search.DocValueFormat;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateDoubleMetricFieldMapper;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateMetricDoubleFieldMapper;
import java.util.ArrayList;
import java.util.Collections;
@ -82,7 +82,7 @@ class FieldValueFetcher {
MappedFieldType fieldType = context.getFieldType(field);
assert fieldType != null : "Unknown field type for field: [" + field + "]";
if (fieldType instanceof AggregateDoubleMetricFieldMapper.AggregateDoubleMetricFieldType aggMetricFieldType) {
if (fieldType instanceof AggregateMetricDoubleFieldMapper.AggregateMetricDoubleFieldType aggMetricFieldType) {
// If the field is an aggregate_metric_double field, we should load all its subfields
// This is a downsample-of-downsample case
for (NumberFieldMapper.NumberFieldType metricSubField : aggMetricFieldType.getMetricFields().values()) {

View file

@ -12,7 +12,7 @@ import org.elasticsearch.index.fielddata.FormattedDocValues;
import org.elasticsearch.index.fielddata.HistogramValue;
import org.elasticsearch.index.mapper.flattened.FlattenedFieldSyntheticWriterHelper;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateDoubleMetricFieldMapper.Metric;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateMetricDoubleFieldMapper.Metric;
import java.io.IOException;
import java.util.ArrayList;

View file

@ -77,7 +77,7 @@ import org.elasticsearch.transport.TransportService;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xcontent.XContentFactory;
import org.elasticsearch.xcontent.XContentType;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateDoubleMetricFieldMapper;
import org.elasticsearch.xpack.aggregatemetric.mapper.AggregateMetricDoubleFieldMapper;
import org.elasticsearch.xpack.core.ClientHelper;
import org.elasticsearch.xpack.core.downsample.DownsampleShardPersistentTaskState;
import org.elasticsearch.xpack.core.downsample.DownsampleShardTask;
@ -756,9 +756,9 @@ public class TransportDownsampleAction extends AcknowledgedTransportMasterNodeAc
final String[] supportedAggsArray = metricType.supportedAggs();
// We choose max as the default metric
final String defaultMetric = List.of(supportedAggsArray).contains("max") ? "max" : supportedAggsArray[0];
builder.field("type", AggregateDoubleMetricFieldMapper.CONTENT_TYPE)
.array(AggregateDoubleMetricFieldMapper.Names.METRICS, supportedAggsArray)
.field(AggregateDoubleMetricFieldMapper.Names.DEFAULT_METRIC, defaultMetric)
builder.field("type", AggregateMetricDoubleFieldMapper.CONTENT_TYPE)
.array(AggregateMetricDoubleFieldMapper.Names.METRICS, supportedAggsArray)
.field(AggregateMetricDoubleFieldMapper.Names.DEFAULT_METRIC, defaultMetric)
.field(TIME_SERIES_METRIC_PARAM, metricType);
}
builder.endObject();