Add analytics.query.max_plan_depth dynamic cluster setting#22331
Add analytics.query.max_plan_depth dynamic cluster setting#22331finnegancarroll wants to merge 1 commit into
Conversation
PR Reviewer Guide 🔍(Review updated until commit c1be765)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to c1be765 Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit c1be765
Suggestions up to commit 00efe15
Suggestions up to commit 96a965a
Suggestions up to commit d09f9f1
|
|
❌ Gradle check result for d09f9f1: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
d09f9f1 to
96a965a
Compare
|
Persistent review updated to latest commit 96a965a |
|
❌ Gradle check result for 96a965a: Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
96a965a to
00efe15
Compare
|
Persistent review updated to latest commit 00efe15 |
|
❌ Gradle check result for 00efe15: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit 00efe15.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
Converts the hardcoded MAX_EXTRACT_INDICES_DEPTH (15) into a dynamic cluster setting that can be tuned at runtime via PUT /_cluster/settings. Setting: analytics.query.max_plan_depth Default: 15 Min: 1 Scope: NodeScope, Dynamic Queries with RelNode trees exceeding this depth are rejected with 400 before execution begins. Signed-off-by: Finn Carroll <carrofin@amazon.com>
00efe15 to
c1be765
Compare
|
Persistent review updated to latest commit c1be765 |
|
❌ Gradle check result for c1be765: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
Persistent review updated to latest commit c1be765 |
|
❕ Gradle check result for c1be765: UNSTABLE Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #22331 +/- ##
============================================
+ Coverage 73.40% 73.41% +0.01%
- Complexity 76075 76093 +18
============================================
Files 6076 6076
Lines 345500 345500
Branches 49732 49732
============================================
+ Hits 253608 253660 +52
+ Misses 71707 71645 -62
- Partials 20185 20195 +10 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Description
Converts the hardcoded plan depth limit (15) into a dynamic cluster setting that operators can tune at runtime.
Setting
PUT /_cluster/settings {"transient": {"analytics.query.max_plan_depth": 20}}Behavior
Queries with Calcite RelNode trees deeper than this limit are rejected with HTTP 400 before execution begins:
Testing
RelNodeUtilsTests.testDepthGuardThrowsOnExcessiveDepthMaxPlanDepthSettingIT— verifies a query succeeds at default depth, then is rejected after lowering the setting to 1