Skip to content

Commit 406bcf0

Browse files
authored
[ES|QL] Fix capabilities on tsdb yaml tests (#138865)
The capabilities for these tests were overwritten to use capabilities that no longer exist, thereby causing these tests to stop getting run. This commit fixes that.
1 parent 742dde6 commit 406bcf0

File tree

3 files changed

+43
-33
lines changed

3 files changed

+43
-33
lines changed

x-pack/plugin/mapper-aggregate-metric/src/main/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateMetricDoubleFieldMapper.java

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -495,22 +495,32 @@ public ValueFetcher valueFetcher(SearchExecutionContext context, String format)
495495
public BlockLoader blockLoader(BlockLoaderContext blContext) {
496496
BlockLoaderFunctionConfig cfg = blContext.blockLoaderFunctionConfig();
497497
if (cfg != null) {
498-
if (cfg.function() == BlockLoaderFunctionConfig.Function.AMD_MIN) {
499-
return new DoublesBlockLoader(metricFields.get(Metric.min).name(), NumericUtils::sortableLongToDouble);
500-
}
501-
if (cfg.function() == BlockLoaderFunctionConfig.Function.AMD_MAX) {
502-
return new DoublesBlockLoader(metricFields.get(Metric.max).name(), NumericUtils::sortableLongToDouble);
503-
}
504-
if (cfg.function() == BlockLoaderFunctionConfig.Function.AMD_SUM) {
505-
return new DoublesBlockLoader(metricFields.get(Metric.sum).name(), NumericUtils::sortableLongToDouble);
506-
}
507-
if (cfg.function() == BlockLoaderFunctionConfig.Function.AMD_COUNT) {
508-
return new IntsBlockLoader(metricFields.get(Metric.value_count).name());
498+
var function = cfg.function();
499+
Metric metric = switch (function) {
500+
case AMD_COUNT -> Metric.value_count;
501+
case AMD_MAX -> Metric.max;
502+
case AMD_MIN -> Metric.min;
503+
case AMD_SUM -> Metric.sum;
504+
default -> null;
505+
};
506+
if (metric == null) {
507+
return new AggregateMetricDoubleBlockLoader(metricFields);
509508
}
509+
return getIndividualBlockLoader(metric);
510510
}
511511
return new AggregateMetricDoubleBlockLoader(metricFields);
512512
}
513513

514+
private BlockLoader getIndividualBlockLoader(Metric metric) {
515+
if (metricFields.containsKey(metric) == false) {
516+
return BlockLoader.CONSTANT_NULLS;
517+
}
518+
if (metric == Metric.value_count) {
519+
return new IntsBlockLoader(metricFields.get(Metric.value_count).name());
520+
}
521+
return new DoublesBlockLoader(metricFields.get(metric).name(), NumericUtils::sortableLongToDouble);
522+
}
523+
514524
@Override
515525
public boolean supportsBlockLoaderConfig(BlockLoaderFunctionConfig config, FieldExtractPreference preference) {
516526
return switch (config.function()) {

x-pack/plugin/src/yamlRestTest/resources/rest-api-spec/test/esql/40_tsdb.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ from doc with aggregate_metric_double:
291291
- method: POST
292292
path: /_query
293293
parameters: []
294-
capabilities: [aggregate_metric_double, dense_vector_agg_metric_double_if_version]
294+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
295295
reason: "Support for aggregate_metric_double"
296296
- do:
297297
allowed_warnings_regex:
@@ -320,7 +320,7 @@ stats on aggregate_metric_double:
320320
- method: POST
321321
path: /_query
322322
parameters: []
323-
capabilities: [aggregate_metric_double, dense_vector_agg_metric_double_if_version]
323+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
324324
reason: "Support for aggregate_metric_double"
325325
- do:
326326
allowed_warnings_regex:
@@ -351,7 +351,7 @@ grouping stats on aggregate_metric_double:
351351
- method: POST
352352
path: /_query
353353
parameters: []
354-
capabilities: [aggregate_metric_double, dense_vector_agg_metric_double_if_version]
354+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
355355
reason: "Support for aggregate_metric_double"
356356
- do:
357357
allowed_warnings_regex:
@@ -392,7 +392,7 @@ sorting with aggregate_metric_double with partial submetrics:
392392
- method: POST
393393
path: /_query
394394
parameters: []
395-
capabilities: [aggregate_metric_double_sorting, dense_vector_agg_metric_double_if_version]
395+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
396396
reason: "Support for sorting when aggregate_metric_double present"
397397
- do:
398398
allowed_warnings_regex:
@@ -424,7 +424,7 @@ aggregate_metric_double unsortable:
424424
- method: POST
425425
path: /_query
426426
parameters: []
427-
capabilities: [aggregate_metric_double_sorting, dense_vector_agg_metric_double_if_version]
427+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
428428
reason: "Support for sorting when aggregate_metric_double present"
429429
- do:
430430
catch: /cannot sort on aggregate_metric_double/
@@ -440,7 +440,7 @@ stats on aggregate_metric_double with partial submetrics:
440440
- method: POST
441441
path: /_query
442442
parameters: []
443-
capabilities: [aggregate_metric_double_partial_submetrics, dense_vector_agg_metric_double_if_version]
443+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
444444
reason: "Support for partial submetrics in aggregate_metric_double"
445445
- do:
446446
allowed_warnings_regex:
@@ -480,7 +480,7 @@ stats on aggregate_metric_double missing min and max:
480480
- method: POST
481481
path: /_query
482482
parameters: [ ]
483-
capabilities: [ aggregate_metric_double_partial_submetrics, dense_vector_agg_metric_double_if_version ]
483+
capabilities: [ aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version ]
484484
reason: "Support for partial submetrics in aggregate_metric_double"
485485
- do:
486486
allowed_warnings_regex:
@@ -512,7 +512,7 @@ render aggregate_metric_double when missing min and max:
512512
- method: POST
513513
path: /_query
514514
parameters: [ ]
515-
capabilities: [ aggregate_metric_double_rendering, dense_vector_agg_metric_double_if_version ]
515+
capabilities: [ aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version ]
516516
reason: "Support for rendering aggregate_metric_doubles"
517517
- do:
518518
allowed_warnings_regex:
@@ -536,7 +536,7 @@ render aggregate_metric_double when missing value:
536536
- method: POST
537537
path: /_query
538538
parameters: [ ]
539-
capabilities: [ aggregate_metric_double_rendering, dense_vector_agg_metric_double_if_version ]
539+
capabilities: [ aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version ]
540540
reason: "Support for rendering aggregate_metric_doubles"
541541
- do:
542542
allowed_warnings_regex:
@@ -560,7 +560,7 @@ to_string aggregate_metric_double:
560560
- method: POST
561561
path: /_query
562562
parameters: [ ]
563-
capabilities: [ aggregate_metric_double_rendering, dense_vector_agg_metric_double_if_version ]
563+
capabilities: [ aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version ]
564564
reason: "Support for rendering aggregate_metric_doubles"
565565
- do:
566566
allowed_warnings_regex:
@@ -583,7 +583,7 @@ from index pattern unsupported counter:
583583
- method: POST
584584
path: /_query
585585
parameters: []
586-
capabilities: [aggregate_metric_double_partial_submetrics, dense_vector_agg_metric_double_if_version]
586+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
587587
reason: "Support for partial submetrics in aggregate_metric_double"
588588
- do:
589589
allowed_warnings_regex:
@@ -675,7 +675,7 @@ to_aggregate_metric_double with multi_values:
675675
- method: POST
676676
path: /_query
677677
parameters: [ ]
678-
capabilities: [ aggregate_metric_double_convert_to ]
678+
capabilities: [ aggregate_metric_double_v0 ]
679679
reason: "Support for to_aggregate_metric_double function"
680680

681681
- do:
@@ -725,7 +725,7 @@ avg of aggregate_metric_double:
725725
- method: POST
726726
path: /_query
727727
parameters: []
728-
capabilities: [aggregate_metric_double_avg, dense_vector_agg_metric_double_if_version]
728+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
729729
reason: "support avg aggregations with aggregate metric double"
730730

731731
- do:

x-pack/plugin/src/yamlRestTest/resources/rest-api-spec/test/esql/46_downsample.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ setup:
8383
- method: POST
8484
path: /_query
8585
parameters: []
86-
capabilities: [aggregate_metric_double, dense_vector_agg_metric_double_if_version]
86+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
8787
reason: "Support for aggregate_metric_double"
8888
- do:
8989
indices.downsample:
@@ -125,7 +125,7 @@ setup:
125125
- method: POST
126126
path: /_query
127127
parameters: []
128-
capabilities: [aggregate_metric_double_rendering, dense_vector_agg_metric_double_if_version]
128+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
129129
reason: "Support for rendering aggregate_metric_doubles"
130130
- do:
131131
indices.downsample:
@@ -155,7 +155,7 @@ setup:
155155
- method: POST
156156
path: /_query
157157
parameters: []
158-
capabilities: [aggregate_metric_double_convert_to, dense_vector_agg_metric_double_if_version]
158+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
159159
reason: "Support for to_aggregate_metric_double function"
160160

161161
- do:
@@ -260,7 +260,7 @@ setup:
260260
- method: POST
261261
path: /_query
262262
parameters: []
263-
capabilities: [metrics_capability, aggregate_metric_double_implicit_casting_in_aggs, dense_vector_agg_metric_double_if_version]
263+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
264264
reason: "Support for casting aggregate metric double implicitly when present in aggregations"
265265

266266
- do:
@@ -367,7 +367,7 @@ setup:
367367
- length: {values.0: 1}
368368
- match: {columns.0.name: "max"}
369369
- match: {columns.0.type: "double"}
370-
- match: {values.0.0: 803685.0}
370+
- match: {values.0.0: 800479.0}
371371

372372
---
373373
"Over time functions from downsampled and non-downsampled indices simultaneously, no grouping":
@@ -377,7 +377,7 @@ setup:
377377
- method: POST
378378
path: /_query
379379
parameters: []
380-
capabilities: [metrics_command, aggregate_metric_double_implicit_casting_in_aggs, dense_vector_agg_metric_double_if_version]
380+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
381381
reason: "Support for casting aggregate metric double implicitly when present in aggregations"
382382

383383
- do:
@@ -499,7 +499,7 @@ setup:
499499
- method: POST
500500
path: /_query
501501
parameters: []
502-
capabilities: [metrics_command, aggregate_metric_double_implicit_casting_in_aggs]
502+
capabilities: [aggregate_metric_double_v0]
503503
reason: "Support for casting aggregate metric double implicitly when present in aggregations"
504504

505505
- do:
@@ -638,7 +638,7 @@ setup:
638638
- method: POST
639639
path: /_query
640640
parameters: []
641-
capabilities: [aggregate_metric_double_sorting_fixed]
641+
capabilities: [aggregate_metric_double_v0]
642642
reason: "Fix sorting for rows comprised of docs from multiple indices where agg metric is missing from some"
643643

644644
- do:
@@ -705,7 +705,7 @@ setup:
705705
- method: POST
706706
path: /_query
707707
parameters: []
708-
capabilities: [aggregate_metric_double_mv_expand, dense_vector_agg_metric_double_if_version]
708+
capabilities: [aggregate_metric_double_v0, dense_vector_agg_metric_double_if_version]
709709
reason: "Have MV_EXPAND not error out when applied to aggregate_metric_doubles (is a no-op)"
710710

711711
- do:

0 commit comments

Comments
 (0)