codeant-ai-for-open-source[bot] commented on code in PR #44426: URL: https://github.com/apache/superset/pull/44426#discussion_r4062692690
########## docs/admin_docs/configuration/async-queries-celery.mdx: ########## @@ -113,3 +113,69 @@ celery --app=superset.tasks.celery_app:app flower - [Blog: How to Set Up Global Async Queries (GAQ) in Apache Superset](https://medium.com/@ngigilevis/how-to-set-up-global-async-queries-gaq-in-apache-superset-a-complete-guide-9d2f4a047559) ::: + +## Task infrastructure, Tasks UI and asynchronous chart queries + +These three controls have different responsibilities: + +1. **`GLOBAL_TASK_FRAMEWORK_ENABLED` deployment config** (default `False`) + installs task infrastructure and enables task services: admission, Task APIs + (including polling/cancellation), TaskManager and task MCP tools. +2. **`GLOBAL_TASK_FRAMEWORK` feature flag** controls only Tasks UI visibility: + the menu, direct Tasks page and frontend Task List. It also requires the config. + It is not a task execution/API kill switch or a security authorization control. +3. **`GLOBAL_ASYNC_QUERIES` feature flag** enables async chart eligibility when + the config is on. It does not require the Tasks UI flag. Turning GAQ off + selects synchronous chart execution; generic task services remain available. + +Existing authentication, Task permissions and subscriber filtering still apply. +Async charts also require the existing request opt-in, result format/type, cache, +subscriber identity and Task-read permission conditions. Ineligible requests +follow the synchronous path. + +| Deployment config | Effective Tasks UI flag | GAQ flag | Task services | Tasks UI | Chart path eligible for async | +|---|---|---|---|---|---| +| Off | Any | Any | Unavailable | Hidden | No (sync) | +| On | Off | Off | Available | Hidden | No (sync) | +| On | On | Off | Available | Visible | No (sync) | +| On | Off | On | Available | Hidden | Yes | +| On | On | On | Available | Visible | Yes | + +All availability remains subject to existing permissions. The standard +FeatureFlagManager automatically derives effective GTF-on from GAQ-on, so enabling +GAQ also shows the Tasks UI when infrastructure is installed. That derivation is +unchanged. A customized resolver can return GAQ-on/GTF-off: async charts still work +but the Tasks UI stays hidden. API polling/cancellation and MCP remain available. Review Comment: **Suggestion:** A custom resolver returning GAQ on and GTF off still makes `GLOBAL_TASK_FRAMEWORK` enabled, so the Tasks UI remains visible. **Assessment:** ๐ `Major` ยท ๐ `Occurrence: Rarely` ยท ๐ท๏ธ `Logic error` [](https://docs.codeant.ai/cli/resolve-pr-comments-skill) [](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=16714e51b652428a8b80346622b79a04&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=16714e51b652428a8b80346622b79a04&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) <details> <summary><b>Prompt for AI Agent ๐ค </b></summary> ```mdx This is a comment left during a code review. **Path:** docs/admin_docs/configuration/async-queries-celery.mdx **Line:** 147:148 **Comment:** *Logic Error: A custom resolver returning GAQ on and GTF off still makes `GLOBAL_TASK_FRAMEWORK` enabled, so the Tasks UI remains visible. 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%2F44426&comment_hash=92bff9807224e255841ea59aea40dc59408c6793ceb9516839b88253bdb8ff85&reaction=like'>๐</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F44426&comment_hash=92bff9807224e255841ea59aea40dc59408c6793ceb9516839b88253bdb8ff85&reaction=dislike'>๐</a> ########## UPDATING.md: ########## @@ -24,6 +24,37 @@ assists people when migrating to a new version. ## Next +### Task configuration and feature flags have separate responsibilities + +**Breaking change:** previously the `GLOBAL_TASK_FRAMEWORK` flag controlled task +registration and admission. It controls **only the Tasks UI** after this change. +It is not an execution/API kill switch or a security authorization control. + +- `GLOBAL_TASK_FRAMEWORK_ENABLED` (new deployment config, default `False`) + installs infrastructure and enables task admission, APIs including polling and + cancellation, and task MCP tools. Existing RBAC/subscriber restrictions remain. +- `GLOBAL_TASK_FRAMEWORK` controls the Tasks menu/page/list, requiring config-on. +- `GLOBAL_ASYNC_QUERIES` enables async chart eligibility, requiring config-on but + **not** the Tasks UI flag. GAQ-off selects sync without disabling generic tasks. + +Migrate task/GAQ deployments by setting `GLOBAL_TASK_FRAMEWORK_ENABLED = True` in +`superset_config.py`. There is no fallback from static or dynamic flags. Use the +same process-wide setting in web, worker, MCP and provisioning processes; run +normal migrations and `superset init`, then restart all relevant processes. +No permission-name or schema migration is introduced. + +Stock FeatureFlagManager still derives effective GTF-on from GAQ-on, so GAQ shows +the Tasks UI with config-on. A custom resolver returning GAQ-on/GTF-off allows +async charts with a hidden Tasks UI. Config-off makes task services/UI unavailable Review Comment: **Suggestion:** A custom resolver cannot keep the Tasks UI hidden when GAQ is enabled because the resolver derives `GLOBAL_TASK_FRAMEWORK` on. **Assessment:** ๐ `Major` ยท ๐ `Occurrence: Sometimes` ยท ๐ท๏ธ `Api mismatch` [](https://docs.codeant.ai/cli/resolve-pr-comments-skill) [](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=e1bc38bda04e4e7ab82a449318a9ff52&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=e1bc38bda04e4e7ab82a449318a9ff52&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) <details> <summary><b>Prompt for AI Agent ๐ค </b></summary> ```mdx This is a comment left during a code review. **Path:** UPDATING.md **Line:** 46:48 **Comment:** *Api Mismatch: A custom resolver cannot keep the Tasks UI hidden when GAQ is enabled because the resolver derives `GLOBAL_TASK_FRAMEWORK` on. 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%2F44426&comment_hash=a07df17e0a36b75dd6b607e15348342593d7fc4e0a9c4f00b5b78cffda16b892&reaction=like'>๐</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F44426&comment_hash=a07df17e0a36b75dd6b607e15348342593d7fc4e0a9c4f00b5b78cffda16b892&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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
