villebro opened a new pull request, #43685:
URL: https://github.com/apache/superset/pull/43685
### SUMMARY
Addresses review feedback from @sadpandajoe on the umbrella PR (#43407).
1. **Shared-task cancellation bug (asyncEvent).** Two charts for the same
principal join a single deduplicated SHARED GTF task through one backend
subscriber. Aborting one chart called `/cancel` on that task even while
the
other chart still awaited it, so the server saw the last subscriber leave
and
aborted work the surviving chart needed. Cancellation is now **deferred
to the
last local waiter**: `cancelUnwaitedTasks()` only cancels a task id when
no
local waiter still awaits it (checked after unregistering the aborting
waiter,
or before registering on an already-aborted signal). Regression test added
(`aborting one chart does not cancel a shared task another chart still
awaits`).
2. **Websocket Pub/Sub channel docs.** `UPDATING.md` and the websocket README
listed `realtime:<channel_id>` — the *browser-delivery* channel — as a
channel
the server consumes. The server actually **subscribes** to
`entity-changes:*`
and `task-status` and republishes to browsers on `realtime:*` after
fanout.
Corrected so a Redis ACL following the guidance allows `task-status`
(omitting
it silently prevents task updates from reaching clients).
Not included here (from the same review, handled separately):
- The 202 poll cursor microsecond-vs-seconds miss was already fixed on
`gaq-to-gtf` (floored via the shared `floored_status_cursor()` helper).
- The Helm `GLOBAL_ASYNC_QUERIES_*` → `WEBSOCKET_*` migration is
intentionally
**not** done: the Helm chart is being deprecated (7.0), and first-class
support
for this feature will land in the official Superset Kubernetes operator.
### TESTING INSTRUCTIONS
- `npm run test -- asyncEvent` — the new shared-cancel regression test.
- Manual: open two charts backed by the same async query (same principal);
abort
one and confirm the other still resolves; abort both and confirm the task
is
cancelled once.
### ADDITIONAL INFORMATION
- [ ] Has associated issue:
- [ ] Required feature flags: `GLOBAL_ASYNC_QUERIES` /
`GLOBAL_TASK_FRAMEWORK`
- [ ] Changes UI
- [ ] Includes DB Migration
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
--
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]