Scope: streaming_engine=precompute, PromQL.
The planner never pairs MultipleIncrease/MultipleMinMax aggregations (used for rate, increase, min_over_time, max_over_time, spatial min/max) with a key aggregation — asap-planner-rs/src/planner/agg_config.rs:104-124 only emits a paired DeltaSetAggregator when the value type is CountMinSketch/HydraKLL.
The engine's capability-matching fallback (asap_types::capability_matching::find_compatible_aggregation, via is_multi_population_value_type in asap_types/src/enums.rs:333-343) unconditionally requires a paired key aggregation for MultipleIncrease/MultipleMinMax.
Result: capability-matching can never resolve these statistics — even for a perfect structural match — whenever no query_config template exists for the query.
Repro: plan rate(m[2m]) or max_over_time(m[2m]), build an exact-match QueryRequirements from the resulting AggregationConfig, call find_compatible_aggregation directly → None.
Related: #501 (same root-cause function/code path, different aggregation type — CountMinSketchWithHeap/topk).
Scope:
streaming_engine=precompute, PromQL.The planner never pairs
MultipleIncrease/MultipleMinMaxaggregations (used forrate,increase,min_over_time,max_over_time, spatialmin/max) with a key aggregation —asap-planner-rs/src/planner/agg_config.rs:104-124only emits a pairedDeltaSetAggregatorwhen the value type isCountMinSketch/HydraKLL.The engine's capability-matching fallback (
asap_types::capability_matching::find_compatible_aggregation, viais_multi_population_value_typeinasap_types/src/enums.rs:333-343) unconditionally requires a paired key aggregation forMultipleIncrease/MultipleMinMax.Result: capability-matching can never resolve these statistics — even for a perfect structural match — whenever no
query_configtemplate exists for the query.Repro: plan
rate(m[2m])ormax_over_time(m[2m]), build an exact-matchQueryRequirementsfrom the resultingAggregationConfig, callfind_compatible_aggregationdirectly →None.Related: #501 (same root-cause function/code path, different aggregation type —
CountMinSketchWithHeap/topk).