Choose costed sliding-window materialization layouts - #580
Merged
Merged
Conversation
zzylol
force-pushed
the
refactor/persist-post-asap-dag
branch
from
September 10, 2026 16:38
c203334 to
8ee7f98
Compare
zzylol
force-pushed
the
feat/sliding-window-layout-candidates
branch
from
September 10, 2026 16:39
9d7dc9a to
886db4d
Compare
zzylol
force-pushed
the
refactor/persist-post-asap-dag
branch
3 times, most recently
from
September 10, 2026 16:48
affc4ba to
6832db8
Compare
zzylol
force-pushed
the
feat/sliding-window-layout-candidates
branch
from
September 10, 2026 17:13
886db4d to
a587572
Compare
zzylol
added a commit
that referenced
this pull request
Sep 10, 2026
* Add costed sliding-window materialization layouts (#580) * Execute selected sliding window layouts in workers (#583) * Execute ClickHouse joins in the shared query DAG (#569) * feat(clickhouse): execute SQL joins in the shared query DAG * fix: consume canonical planner lifecycle contract * fix(clickhouse): validate each join input coverage * chore: pin merged planner join contract
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A semantic sliding window was previously compiled only as non-overlapping panes, and the compiler overloaded
window_sizewith the chosen pane width. That made full overlapping windows impossible to cost or install and blurred query semantics with storage layout.This change makes the backend choose among typed physical layouts while keeping the Planner DAG semantic:
Pane,FullWindow, and exactHierarchicalRolluplayouts;window_size,slide_interval, andpane_sizeindependent;SummaryDefinitionIdidentity and catalog bindings;state_layoutfields.For a 60-second window evaluated every 10 seconds, the same post-ASAP DAG can now choose either six 10-second panes or one complete 60-second state produced every 10 seconds. Tests demonstrate selection of the full window when its query-frequency-adjusted cost is lower, selection of panes when update/storage cost dominates, multiple valid slide frequencies, and fail-closed non-divisible layouts.
Validation:
cargo test -p control_plane --lib --quiet(712 passed)cargo test -p asap_types --quiet(70 passed)cargo check -p data_planegit diff --checkStacked on #579 because the installed precompute plan must retain the executable DAG bindings alongside this physical layout.