Skip to content

refactor(planner): add explicit precompute physical plan - #469

Merged
zzylol merged 1 commit into
mainfrom
refactor/remove-dead-precompute-jobs
Sep 3, 2026
Merged

zzylol merged 1 commit into
mainfrom
refactor/remove-dead-precompute-jobs

Conversation

@zzylol

@zzylol zzylol commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make the post-ASAP physical compiler emit one explicit PhysicalPlan with CollectorPlan, PrecomputePlan, and BackendPlan projections sharing one plan envelope
  • model PrecomputePlan as config-driven materializations, with no PromQL job or scheduler-shaped fields
  • publish the precompute projection through the backend streaming-config contract before BackendPlan and CollectorPlan activation
  • delete the dead PrecomputeJob emitter/client, protobuf field, in-memory backend registry, and /api/v1/precompute* job endpoints that acknowledged work without scheduling it
  • reserve the removed protobuf field number/name for wire safety

Execution model

ASAPPlanner post-ASAP IR
          ↓
      PhysicalPlan
       ├─ CollectorPlan
       ├─ PrecomputePlan
       └─ BackendPlan

PrecomputePlan.materializations drives metric/filter matching, accumulator selection, grouping, windows, and SketchStore writes through /api/v1/streaming-config. Query readouts and routing DAG remain exclusively in BackendPlan.

Validation

  • cargo test -p control_plane — 678 lib + 28 API tests passed; 3 doc tests ignored
  • cargo test -p data_plane drivers::query::servers::http --lib — 60 passed; 1 ignored
  • cargo check -p control_plane -p data_plane
  • git diff --check

Stacked on #468.

@zzylol
zzylol changed the base branch from feat/backend-plan-dag-routing to main September 3, 2026 02:54
@zzylol
zzylol merged commit 4fcaa4b into main Sep 3, 2026
1 check passed
@zzylol
zzylol deleted the refactor/remove-dead-precompute-jobs branch September 12, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant