-
Notifications
You must be signed in to change notification settings - Fork 688
feat: join support for dashboard auto sql #8306
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
base: main
Are you sure you want to change the base?
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
6e24cfb to
20645df
Compare
7355d24 to
d346144
Compare
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 7 tests failed | 114 | 94 | 7 | 10 | 3 | 82% | 10m 59s |
Test Failure Analysis
- sanity.spec.js: Multiple timeout issues related to element visibility and clicks
- Sanity Test Cases should display histogram in sql mode: Canvas element not found within timeout.
- Sanity Test Cases should display pagination when only SQL is on clicking and closing the result: Timestamp column locator click timed out.
- Sanity Test Cases should display pagination when histogram is off and clicking and closing the result: Source column locator click timed out.
Root Cause Analysis
- The code changes in convertDashboardSchemaVersion.ts may have affected the visibility and availability of elements in the UI.
Recommended Actions
- Increase timeout durations for element visibility checks in sanity.spec.js tests. 2. Verify the presence of elements before performing actions to avoid timeouts. 3. Investigate the impact of recent changes in convertDashboardSchemaVersion.ts on UI rendering.
Test Run FailedAuthor: Testdino Test Results
Test Failure Analysis
Root Cause Analysis
Recommended Actions
|
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 7 tests failed | 33 | 22 | 7 | 1 | 3 | 67% | 4m 52s |
Test Failure Analysis
- dashboard-filter.spec.js: Multiple timeout issues related to element visibility and interaction
- dashboard filter testcases Should apply the filter group inside group - robust version: Element not an input, fill action failed.
- dashboard filter testcases Should Filter work correctly if Added the breakdown field: Timeout waiting for cell to be visible.
- dashboard filter testcases Should display an error message if added the invalid operator: Click action timed out waiting for element.
- dashboard-transpose.spec.js: Timeout issue when waiting for element visibility
- dashboard UI testcases should not show an error when transpose is enabled from config with custom SQL query: Timeout waiting for remove button to be visible.
Root Cause Analysis
- The changes in
web/.../alerts/[VUE] FilterGroup.vueand related files may have introduced new conditions affecting element visibility and interaction.
Recommended Actions
- Increase timeout durations in
dashboard-filter.spec.jsfor elements that are slow to appear. 2. Verify the visibility and state of elements before interactions indashboard-filter.spec.jsto avoid timeouts. 3. Ensure that the locator used indashboard-transpose.spec.jscorrectly targets existing elements after recent code changes.
9b8c39b to
eeaa7f7
Compare
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 3 tests failed | 48 | 39 | 3 | 3 | 3 | 81% | 5m 27s |
Test Failure Analysis
- dashboard-geoMap.spec.js: Issues with element visibility and timeouts
- dashboard maps testcases Should display the correct location when manually entering latitude and longitude values: Locator timeout waiting for '#chart-map canvas'.
- dashboard maps testcases should correctly apply the filter conditions with different operators, and successfully apply them to the query: Element not an input; fill action failed.
- dashboard-multi-y-axis.spec.js: Timeout issues with element interactions
- dashboard multi y axis testcases should correctly display and update multiple Y-axes in edit panel.: Locator timeout waiting for '[data-test="dashboard-back-btn"]'.
Root Cause Analysis
- The recent code changes in src/.../v6/mod.rs and web/.../dashboard/[JS] convertDashboardSchemaVersion.ts may have affected element visibility and interaction, leading to timeouts.
Recommended Actions
- Investigate the visibility and loading state of '#chart-map canvas' in dashboard-geoMap.spec.js to prevent timeouts.
- Ensure that the element '[data-test="dashboard-add-condition-column-0}"]' is an input type in dashboard-geoMap.spec.js to avoid fill errors.
- Review the timing of the back button's availability in dashboard-multi-y-axis.spec.js to address the timeout issue.
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 2 tests failed | 91 | 74 | 2 | 9 | 6 | 81% | 4m 24s |
Test Failure Analysis
- dashboard-geoMap.spec.js: Failures related to element interaction issues
- dashboard maps testcases Should display the correct location when manually entering latitude and longitude values: Locator timeout while waiting for map canvas to be clickable.
- dashboard maps testcases should correctly apply the filter conditions with different operators, and successfully apply them to the query: Attempted to fill a non-input element, causing an error.
Root Cause Analysis
- The code change in convertDataIntoUnitValue.ts does not directly address the locator issues causing the test failures.
Recommended Actions
- Investigate the visibility and loading time of the '#chart-map canvas' element to reduce timeout errors. 2. Ensure the element '[data-test="dashboard-add-condition-column-0}"]' is an input type or adjust the test to interact with the correct element type.
9e579b4 to
fd2c761
Compare
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 2 tests failed | 91 | 75 | 2 | 9 | 5 | 82% | 4m 24s |
Test Failure Analysis
- dashboard-geoMap.spec.js: Failures due to element interaction issues
- dashboard maps testcases Should display the correct location when manually entering latitude and longitude values: Locator timeout waiting for canvas element to be clickable.
- dashboard maps testcases should correctly apply the filter conditions with different operators, and successfully apply them to the query: Attempted to fill a non-input element, causing an error.
Root Cause Analysis
- The code change in convertDataIntoUnitValue.ts may have introduced validation issues affecting element interactions.
Recommended Actions
- Increase the timeout duration for the canvas locator in dashboard-geoMap.spec.js to prevent timeouts.
- Ensure the element targeted by '[data-test="dashboard-add-condition-column-0}"]' is an input or change the interaction method in dashboard-geoMap.spec.js.
- Review the element structure in the dashboard filter to confirm it supports fill actions.
fd2c761 to
5046f7e
Compare
5046f7e to
77b1b99
Compare
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 1 test failed | 126 | 114 | 1 | 9 | 2 | 90% | 4m 39s |
Test Failure Analysis
- dashboard-streaming.spec.js: Timeout issues while interacting with UI elements
- dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Locator timeout waiting for '[data-test="date-time-relative-tab"]' during click action.
Root Cause Analysis
- The recent changes in dashboard-refresh.js may have affected the timing or availability of UI elements, leading to timeouts.
Recommended Actions
- Increase the timeout duration for the locator click in dashboard-refresh.js to accommodate slower UI responses. 2. Ensure the element '[data-test="date-time-relative-tab"]' is present and visible before attempting to click it. 3. Add explicit wait conditions before the click action to ensure the element is ready for interaction.
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 1 test failed | 126 | 114 | 1 | 9 | 2 | 90% | 4m 38s |
Test Failure Analysis
- dashboard-streaming.spec.js: Timeout errors due to element visibility issues
- dashboard streaming testcases should verify the custom value search from variable dropdown with streaming enabled: Locator timeout waiting for '[data-test="dashboard-back-btn"]' to be visible.
Root Cause Analysis
- The recent changes in
dashboard-create.jsmay have affected the visibility of the back button, causing the timeout.
Recommended Actions
- Increase the timeout duration in
backToDashboardListmethod indashboard-create.jsto allow more time for the button to become visible. - Ensure that the button with '[data-test="dashboard-back-btn"]' is rendered correctly in the DOM before this test runs.
- Investigate any recent changes in the UI that could affect the rendering of the back button.
|
| Status | Total | Passed | Failed | Skipped | Flaky | Pass Rate | Duration |
|---|---|---|---|---|---|---|---|
| 2 tests failed | 92 | 79 | 2 | 9 | 2 | 86% | 4m 26s |
Test Failure Analysis
- dashboard-geoMap.spec.js: Failures due to element interaction issues
- dashboard maps testcases Should display the correct location when manually entering latitude and longitude values: Locator timeout waiting for '#chart-map canvas' to be clickable.
- dashboard maps testcases should correctly apply the filter conditions with different operators, and successfully apply them to the query: Attempted to fill a non-input element, causing an error.
Root Cause Analysis
- The recent changes in the dashboard structure may have affected element locators and their expected types in the UI.
Recommended Actions
- Increase the timeout duration for the locator in dashboard-geoMap.spec.js to handle slow rendering. 2. Verify the element type for '[data-test="dashboard-add-condition-column-0}"]' in dashboard-filter.js to ensure it is an input type. 3. Review the changes in the dashboard structure to ensure all locators are correctly targeting existing elements.
PR Type
Enhancement
Description
Add dashboard schema version v6 with joins
Update backend to handle v6 dashboards
Extend panel builder for join-aware auto SQL
Migrate v5 dashboards to v6 schema
Diagram Walkthrough
File Walkthrough
15 files
Introduce v6 dashboard schema with joins and rich fieldsWire v6 into unified Dashboard and accessorsAPI models include v6 and parser routesSupport variables retrieval for v6 dashboardsSuper dashboard init updated to include v6 NoneSuper dashboard init updated to include v6 NoneSuper dashboard init updated to include v6 NoneSuper dashboard init updated to include v6 NoneSuper dashboard init updated to include v6 NoneJoin-aware field selection and auto SQL generationBuild SQL via AST with joins and functionsMigrate v5 panels/filters to v6 field argsAdapt conversions to v6 function fieldsRecognize histogram via functionName in v6Grouped fields per stream and filter actions1 files
Styling tweaks and sort binding cleanup27 files