Parent: #281
Goal
Fix planner limits and entity filters so DataFusion reads only the data required by the request.
Query planning bugs can erase the benefit of better file layout and metadata warmup. This step tightens predicate construction and request caps before deeper optimizer work.
Scope
- Audit planner-generated filters for trace, summary, metrics, and GenAI queries.
- Fix entity filters that are missing, too broad, or applied too late.
- Ensure time predicates are always present where the API contract requires them.
- Fix planner caps that allow unexpectedly broad reads.
- Add tests for service, namespace, version, status, duration, and time-window filtering.
High-level design
Delta file stats, partition pruning, bloom filters, and DataFusion predicate pushdown only help if the query contains the right predicates in the first place. This issue should focus on request-to-plan correctness before adding lower-level custom providers or optimizer rules.
Acceptance criteria
- Planner tests cover expected predicates for common trace and dashboard query shapes.
- Queries with entity filters produce bounded DataFusion plans.
- Queries missing required time bounds are rejected or capped according to API rules.
- Benchmarks show object-store request counts for representative filtered and unfiltered queries.
Parent: #281
Goal
Fix planner limits and entity filters so DataFusion reads only the data required by the request.
Query planning bugs can erase the benefit of better file layout and metadata warmup. This step tightens predicate construction and request caps before deeper optimizer work.
Scope
High-level design
Delta file stats, partition pruning, bloom filters, and DataFusion predicate pushdown only help if the query contains the right predicates in the first place. This issue should focus on request-to-plan correctness before adding lower-level custom providers or optimizer rules.
Acceptance criteria