Context
Found by the strict whole-path matrix in ProjectASAP/ASAPQuery-backend#478. Three scenarios fail before backend configuration or ingest because the typed workload planner returns no deployment expression:
- CountSketch frequency for
count_over_time(top_endpoint_qps[10s])
- CountSketchWithHeap for
topk(3, top_endpoint_qps)
- CountMinSketchWithHeap for
topk(3, top_endpoint_qps)
All three stop at the backend test helper's call to control_plane::physical::workload_planner::bind_workload_typed(workload) with:
bind_workload_typed produced a PhysicalExpr
The backend currently pins ASAPPlanner types at revision 5d0b6f6edcac65edc89a72051f37977ab0c83031.
Reproduction
From the ASAPQuery-backend PR branch:
./scripts/e2e.sh whole-matrix
Relevant tests:
controller_plan_to_query_full_roundtrip_count_sketch
controller_plan_to_query_full_roundtrip_count_sketch_with_heap_topk
controller_plan_to_query_full_roundtrip_cms_with_heap_topk
Expected
For each supported workload/query shape, typed binding should produce a physical expression whose three-stage split includes a Backend stage with the selected sketch family and readout:
- frequency/count-over-time -> CountSketch or Count-Min capability
- top-k -> heap-bearing CountSketch/CMS plus a top-k readout
If a shape is intentionally unsupported, return a typed diagnostic identifying the unsupported capability/shape rather than an unclassified None.
Done when
The three strict whole-path tests progress past typed binding and validate the emitted backend/collector configuration. Backend serving failures, if any, should then be reported separately at ingest/query time.
Context
Found by the strict whole-path matrix in ProjectASAP/ASAPQuery-backend#478. Three scenarios fail before backend configuration or ingest because the typed workload planner returns no deployment expression:
count_over_time(top_endpoint_qps[10s])topk(3, top_endpoint_qps)topk(3, top_endpoint_qps)All three stop at the backend test helper's call to
control_plane::physical::workload_planner::bind_workload_typed(workload)with:The backend currently pins ASAPPlanner types at revision
5d0b6f6edcac65edc89a72051f37977ab0c83031.Reproduction
From the ASAPQuery-backend PR branch:
Relevant tests:
controller_plan_to_query_full_roundtrip_count_sketchcontroller_plan_to_query_full_roundtrip_count_sketch_with_heap_topkcontroller_plan_to_query_full_roundtrip_cms_with_heap_topkExpected
For each supported workload/query shape, typed binding should produce a physical expression whose three-stage split includes a Backend stage with the selected sketch family and readout:
If a shape is intentionally unsupported, return a typed diagnostic identifying the unsupported capability/shape rather than an unclassified
None.Done when
The three strict whole-path tests progress past typed binding and validate the emitted backend/collector configuration. Backend serving failures, if any, should then be reported separately at ingest/query time.