execute_range_query_pipeline, used by PromQL range queries (both plain and binary-expr, since the binary-expr range path calls this per arm), has two problems:
- It never reads
keys_query. Dual-population metrics silently lose the keys side over a range, unlike the instant-query path, which handles both keys and values.
- It unconditionally forces
is_exact_query = false regardless of the aggregation's actual WindowType (promql.rs:1144). Sliding-window aggregations are merged incorrectly for every range query as a result.
execute_range_query_pipeline, used by PromQL range queries (both plain and binary-expr, since the binary-expr range path calls this per arm), has two problems:keys_query. Dual-population metrics silently lose the keys side over a range, unlike the instant-query path, which handles both keys and values.is_exact_query = falseregardless of the aggregation's actualWindowType(promql.rs:1144). Sliding-window aggregations are merged incorrectly for every range query as a result.