Repository navigation
feat(planner): --planner saved reads RQE trees and writes rqe_configs #888
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
milindsrivastava1997
merged 14 commits into
main
from
882-featplanner-planner-saved-reads-rqe-trees-and-writes-rqe_configs
Oct 15, 2026
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
fa57681
feat(asap-common): RQE expression tree type and validation
milindsrivastava1997 d8681d5
feat(planner): --planner saved reads RQE trees and writes rqe_configs
milindsrivastava1997 7c77405
feat(asap-common): per-bucket top-k (`topk_by`) on RQE leaves
milindsrivastava1997 c25fd46
Merge branch '880-featasap-common-rqe-expression-tree-type-and-valida…
milindsrivastava1997 f8ae11f
feat(planner): plan a top-k RQE leaf by its `topk_by` buckets
milindsrivastava1997 1b07c83
fix(asap-common): tighten RQE tree validation
milindsrivastava1997 7ef4f7c
Merge branch '880-featasap-common-rqe-expression-tree-type-and-valida…
milindsrivastava1997 33ddb10
fix(planner): saved-plan RQE checks per review; add --expr-only
milindsrivastava1997 60a7844
style(asap-common): state behaviour in duplicate-label test comment
milindsrivastava1997 995f16a
Merge branch '880-featasap-common-rqe-expression-tree-type-and-valida…
milindsrivastava1997 2f18617
fix(planner): require rqes with text; --expr-only plans tree leaves only
milindsrivastava1997 c2da7dc
Merge remote-tracking branch 'origin/main' into 880-featasap-common-r…
milindsrivastava1997 292f30d
Merge remote-tracking branch 'origin/880-featasap-common-rqe-expressi…
milindsrivastava1997 57ce5f5
Merge remote-tracking branch 'origin/main' into 882-featplanner-plann…
milindsrivastava1997 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aggregation retention is still computed only from
query_configs(StreamingConfig::from_yaml_datawalksinference_config.query_configs). The newrqe_configsreferences, with theirnum_aggregates_to_retainandread_count_threshold, never feedretention_maporread_count_threshold_map.Failure scenario: A tree-only query (e.g. the
plans_a_tree_only_query/writes_sql_rqe_configs_with_an_exact_roll_uplatency_sum case) gets an aggregation noquery_configsentry references, soretention_map.get(id)is None and the store grows unbounded. Also, a tree leaf needing a longer lookback than text queries sharing its aggregation is capped at the smaller retention and reads fewer windows than itsrqe_configsentry asks for.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 33ddb10 (the commit message doesn't mention it):
StreamingConfig::from_yaml_datanow walks the aggregation references of bothquery_configsandrqe_configs. Retention takes the max and read-count thresholds sum, as for shared text references. Tests:rqe_only_reference_bounds_retention,query_and_rqe_references_keep_the_largest_retention,query_and_rqe_references_sum_read_based_thresholds.