Share installed executable DAG contracts with the data plane - #608
Merged
Merged
Conversation
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.
The data plane consumes installed semantic DAGs, but their DTOs and query-node IDs were defined by the control-plane compiler. This gave runtime consumers a compiler-owned contract and used the same
PostAsapDagDocumentname for a different structure than Planner's transport envelope.Move the owned DAG, physical bindings, and
QueryNodeIdintoasap_types::executable_plan. Name the installed representationOwnedPostAsapDagto distinguish it from Planner's envelope. Its serialization remains unchanged; Planner payloads are decoded on demand because the in-memory Planner IR containsRc. QueryPlan cross-checking stays in the control plane.Before: precompute imported compiler-owned installation DTOs. After: compiler and precompute share the same Send/Sync contract; the compiler retains placement decisions and query-plan validation.
Verification: 68 physical-compiler tests passed, including installed DAG serialization/bindings; the shared contract's Send/Sync and wire-identity test and both data-plane subDAG scheduler tests passed. Performance and visual evidence are not applicable to this ownership refactor.
Scope:
QueryPlanandPrecomputePlandefinitions still live in the control plane and need a separate extraction. This change does not expand maintenance operators or alter execution behavior.