execute_range_query_pipeline's single-population branch (no separate keys_query) uses each value group's own group_key directly and never calls get_keys() on the value accumulator itself. The instant path (collect_results_same_aggregation) does call it, which is how self-keyed accumulators like CountMinSketchWithHeap (top-k) expand into multiple output keys without a separate keys aggregation. A range query over such a metric, grouped by None at the store level, returns empty instead of the expanded top-k keys.
This predates #580/#582 — the original code also unconditionally skipped None-keyed groups in this branch — so it's a distinct, pre-existing gap, not a regression from that fix.
execute_range_query_pipeline's single-population branch (no separatekeys_query) uses each value group's owngroup_keydirectly and never callsget_keys()on the value accumulator itself. The instant path (collect_results_same_aggregation) does call it, which is how self-keyed accumulators likeCountMinSketchWithHeap(top-k) expand into multiple output keys without a separate keys aggregation. A range query over such a metric, grouped byNoneat the store level, returns empty instead of the expanded top-k keys.This predates #580/#582 — the original code also unconditionally skipped
None-keyed groups in this branch — so it's a distinct, pre-existing gap, not a regression from that fix.