You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "eschutho (via GitHub)" <gi...@apache.org> on 2026/08/24 15:15:22 UTC
[PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
eschutho opened a new pull request, #43464:
URL: https://github.com/apache/superset/pull/43464
## Summary
**Sentry:** [SUPERSET-PYTHON-13JV](https://preset-inc.sentry.io/issues/7500766563/) — 908 events / 0 users over the trailing 14 days, chronic since 2026-05-22, still actively firing.
### Root cause
`load_chart_data_into_cache` (the Celery task backing `GLOBAL_ASYNC_QUERIES` chart loads) catches every exception from `ChartDataCommand.run()` in one generic `except Exception` block that reports the failure to the client via `async_query_manager.update_job(...)` and then unconditionally re-raises.
For `ChartDataQueryFailedError` — raised when a chart still references columns that have since been dropped from its dataset (customer-side schema drift, not a Superset bug) — this is inconsistent with how the codebase already treats the *same exception type* in the synchronous path: `ChartDataRestApi._get_data_response` explicitly maps `ChartDataQueryFailedError` to a 400 (and its sibling `ChartDataCacheLoadError` to 422), i.e. these are already classified elsewhere as expected, client-facing validation failures, not server bugs.
Because the async task always re-raises, Celery's default task-exception handling (and the Sentry Celery integration) captures every occurrence as an unhandled ERROR, even though `update_job` has already delivered a clean error to the client. This task is fire-and-forget (`apply_async`, no `.get()`, no retry policy, no result-backend consumer), so nothing depends on the task's own exception/FAILURE state for these two exception types.
### Fix
Add a dedicated `except (ChartDataCacheLoadError, ChartDataQueryFailedError)` branch before the generic handler in `superset/tasks/async_queries.py`: still call `update_job(..., STATUS_ERROR, ...)` so client-facing behavior is unchanged, log at INFO, and don't re-raise. All other exception types — including genuinely unexpected ones and the SIP-40 `SupersetErrorException`/`SupersetErrorsException` family — are untouched and still re-raise exactly as before.
## Tradeoffs
This changes failure-mode semantics for these two exception types specifically: the Celery task now completes without raising even though the underlying chart query failed (the client still sees the error via `update_job`/the job-status poll, unchanged). I verified no code path inspects this task's own exception/result state — it's fire-and-forget with no retry policy — so this should be safe, but flagging it explicitly since it's a real behavior change, not a pure log-level tweak.
## Testing
- `ruff check` / `ruff format --check` clean on both touched files.
- `pytest tests/unit_tests/tasks/test_async_queries.py` — 9/9 passing: repointed the existing generic-error test at a plain `RuntimeError` (it was incidentally using `ChartDataQueryFailedError` as a stand-in for "some exception"), and added two new tests asserting `ChartDataQueryFailedError` and `ChartDataCacheLoadError` are reported via `update_job` but do not re-raise.
- Full app-context suite unusable in this shared clone (missing `superset_core`, known local env issue) — ran the target file directly with `superset-core` added to `PYTHONPATH`.
## Follow-ups
None identified — the fix is self-contained to this one task.
Shortcut: [sc-118140](https://app.shortcut.com/preset/story/118140)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "eschutho (via GitHub)" <gi...@apache.org>.
eschutho commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5555202524
Closing as superseded by #43407 (merged 2026-09-04, commit 8fb5b8f2fb — "migrate Global Async Queries onto the Global Task Framework").
That rewrite deleted `load_chart_data_into_cache` and the `async_query_manager` module entirely, replacing them with a GTF-based `execute_chart_query` task. There's nothing left to rebase this PR onto.
More importantly, the specific bug this PR fixed — `ChartDataQueryFailedError`/`ChartDataCacheLoadError` re-raised as unhandled Celery errors instead of being reported cleanly — no longer reproduces: the new GTF worker (`superset/tasks/scheduler.py::_execute_task_body`) catches every exception from a task body and records a clean terminal `FAILURE` with a client-facing `error_message`, rather than letting it propagate as an unhandled task error. So this PR's fix is redundant against current master.
One follow-up worth tracking separately (not blocking this close): the new GTF path doesn't distinguish client-class validation errors from genuine server errors — both get logged at `ERROR` with a traceback and counted under `gtf.task.failure`. If SUPERSET-PYTHON-13JV's volume was coming specifically from validation-class errors, the noise may resurface under a new fingerprint (e.g. under `superset.tasks.scheduler`) rather than actually being gone. That'd be new work scoped against `execute_chart_query`/the GTF task path, not a revival of this PR.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5397297040
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5397909252
## [Codecov](https://app.codecov.io/gh/apache/superset/pull/43464?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 66.05%. Comparing base ([`8fa48d7`](https://app.codecov.io/gh/apache/superset/commit/8fa48d73f6938d98623c1471406a64a218fd9a4b?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`29f9905`](https://app.codecov.io/gh/apache/superset/commit/29f9905b8480f47eb7cb362f67561afef2a34750?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 7 commits behind head on master.
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #43464 +/- ##
===========================================
- Coverage 78.85% 66.05% -12.80%
===========================================
Files 2876 2876
Lines 164601 164605 +4
Branches 38015 38015
===========================================
- Hits 129799 108738 -21061
- Misses 32355 53677 +21322
+ Partials 2447 2190 -257
```
| [Flag](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [hive](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `38.07% <0.00%> (-0.01%)` | :arrow_down: |
| [mysql](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [postgres](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [presto](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `40.00% <0.00%> (-0.01%)` | :arrow_down: |
| [python](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.65% <100.00%> (-25.90%)` | :arrow_down: |
| [sqlite](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `57.51% <100.00%> (-0.01%)` | :arrow_down: |
| [unit](https://app.codecov.io/gh/apache/superset/pull/43464/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
</details>
[:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/43464?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
<details><summary> :rocket: New features to boost your workflow: </summary>
- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "eschutho (via GitHub)" <gi...@apache.org>.
eschutho closed pull request #43464: fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140)
URL: https://github.com/apache/superset/pull/43464
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5397372992
<!-- Bito Reply -->
The flagged issue is correct. In `test_load_chart_data_into_cache_with_query_failed_error_does_not_reraise`, the `ChartDataQueryFailedError` is raised by the schema's `load` method, which causes the function to exit before reaching the `ChartDataCommand.run()` call. To properly test the production logic, the test should mock `ChartDataCommand.run` to raise the exception instead, ensuring the error handling path is actually exercised.
To resolve this, update the test to mock the command class and set the side effect on its `run` method, similar to how `test_load_chart_data_into_cache_with_cache_load_error_does_not_reraise` is implemented.
**tests/unit_tests/tasks/test_async_queries.py**
```
@mock.patch("superset.tasks.async_queries.security_manager")
@mock.patch("superset.tasks.async_queries.async_query_manager")
@mock.patch("superset.commands.chart.data.get_data_command.ChartDataCommand")
@mock.patch("superset.tasks.async_queries.ChartDataQueryContextSchema")
def test_load_chart_data_into_cache_with_query_failed_error_does_not_reraise(
mock_query_context_schema_cls, mock_command_cls, mock_async_query_manager, mock_security_manager
):
# ... setup ...
mock_query_context_schema_cls.return_value.load.return_value = mock.MagicMock()
mock_command_cls.return_value.run.side_effect = ChartDataQueryFailedError(_(err_message))
# ... execution and assertion ...
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5399579683
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers an incremental AI Review.
- `/review full` - Manually triggers a full AI Review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #43464:
URL: https://github.com/apache/superset/pull/43464#discussion_r3844884739
##########
tests/unit_tests/tasks/test_async_queries.py:
##########
@@ -64,6 +67,70 @@ def test_load_chart_data_into_cache_with_error(
)
+@mock.patch("superset.tasks.async_queries.security_manager")
+@mock.patch("superset.tasks.async_queries.async_query_manager")
+@mock.patch("superset.tasks.async_queries.ChartDataQueryContextSchema")
+def test_load_chart_data_into_cache_with_query_failed_error_does_not_reraise(
+ mock_query_context_schema_cls, mock_async_query_manager, mock_security_manager
+):
+ """
+ ChartDataQueryFailedError maps to a 400 in the synchronous chart/data
+ endpoint (see ChartDataRestApi._get_data_response) - an expected,
+ client-facing validation failure (e.g. a chart still referencing columns
+ a customer has since dropped from the dataset), not an application bug.
+ The task must still report it to the client via update_job, but must not
+ re-raise it - that would surface it a second time as an unhandled Celery
+ task exception.
+ """
+ from superset.tasks.async_queries import load_chart_data_into_cache
+
+ job_metadata = {"user_id": 1}
+ form_data: dict[str, Any] = {}
+ err_message = "Columns missing in dataset: ['foo']"
+ err = ChartDataQueryFailedError(_(err_message))
+
+ mock_security_manager.get_user_by_id.return_value = mock.MagicMock()
+ mock_async_query_manager.STATUS_ERROR = "error"
+ mock_query_context_schema_cls.return_value.load.side_effect = err
+
+ # Should not raise.
+ load_chart_data_into_cache(job_metadata, form_data)
Review Comment:
**Suggestion:** The regression test raises `ChartDataQueryFailedError` from `ChartDataQueryContextSchema.load`, so it never executes `ChartDataCommand.run()` or the production logic that converts query payload errors into this exception. This can pass even if the real chart-data failure path is not caught correctly; mock `ChartDataCommand.run` to raise the exception after a valid query context is created, as the cache-load test does. [possible bug]
<details>
<summary><b>Severity Level:</b> Minor 🧹</summary>
```mdx
- ⚠️ Unit regression test does not cover `ChartDataCommand.run`.
- ⚠️ Incorrect exception handling could regress undetected.
- ⚠️ Async chart-data error behavior remains weakly protected.
```
</details>
[](https://docs.codeant.ai/cli/resolve-pr-comments-skill)
<details>
<summary><b>Prompt for AI Agent 🤖 </b></summary>
```mdx
This is a comment left during a code review.
**Path:** tests/unit_tests/tasks/test_async_queries.py
**Line:** 94:97
**Comment:**
*Possible Bug: The regression test raises `ChartDataQueryFailedError` from `ChartDataQueryContextSchema.load`, so it never executes `ChartDataCommand.run()` or the production logic that converts query payload errors into this exception. This can pass even if the real chart-data failure path is not caught correctly; mock `ChartDataCommand.run` to raise the exception after a valid query context is created, as the cache-load test does.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43464&comment_hash=be7da8741149ba5671a62a3f423d6a3f6bd806ae5b75de97a8608499241ae7cd&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F43464&comment_hash=be7da8741149ba5671a62a3f423d6a3f6bd806ae5b75de97a8608499241ae7cd&reaction=dislike'>👎</a>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5397508588
### <span aria-hidden="true">✅</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | 29f9905b8480f47eb7cb362f67561afef2a34750 |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/6a8c62e4582cff0008c1d41d |
|<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-43464--superset-docs-preview.netlify.app](https://deploy-preview-43464--superset-docs-preview.netlify.app) |
|<span aria-hidden="true">📱</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br /><br /><br />_Use your smartphone camera to open QR code link._</details> |
|<span aria-hidden="true">🤖</span> Make changes | [Run an agent on this branch](https://app.netlify.com/projects/superset-docs-preview/agent-runs#FctBCoAgEEDRu8w6waJCukHHmGZGEizNDJLo7tnu_8V7IKawxQwTQANLwp3W2tbdilZMmTGjOi5JRVl0XliR-P_24E6phCX6UGauaERDYyf9YDqyVmttqOW-ZXg_) |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-43464--superset-docs-preview.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] fix(tasks): don't re-raise validation-class errors in async chart-data cache task (SC-118140) [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #43464:
URL: https://github.com/apache/superset/pull/43464#issuecomment-5397467576
### <span aria-hidden="true">✅</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | 9557995b2fbd2be43099491b0d9c8b68a785cabc |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/6a8c6282b1069800080a467c |
|<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-43464--superset-docs-preview.netlify.app](https://deploy-preview-43464--superset-docs-preview.netlify.app) |
|<span aria-hidden="true">📱</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br /><br /><br />_Use your smartphone camera to open QR code link._</details> |
|<span aria-hidden="true">🤖</span> Make changes | [Run an agent on this branch](https://app.netlify.com/projects/superset-docs-preview/agent-runs#FctBCoAgEEDRu8w6YYow6wYdYxonEizNDIro7tnu_8V7IKawxgwDQAVToo2X0rO7FC-UsqVMaj8l3Wom58UqFv_fFtwhhViJPtyjLUiTYd2YZqpR9wYRDVKrO4b3Aw) |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-43464--superset-docs-preview.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org