You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "mikebridge (via GitHub)" <gi...@apache.org> on 2026/10/15 21:45:41 UTC
[PR] fix(tests): stop the unit suite from retaining one Superset app per module [superset]
mikebridge opened a new pull request, #45364:
URL: https://github.com/apache/superset/pull/45364
### SUMMARY
**TL;DR:** the `Python-Unit` job dies at 99% on roughly one run in ten since October 12 because every unit-test module leaks a full Superset app. Each test module builds its own `SupersetApp` through the module-scoped `app` fixture, and two process-wide singletons kept every app ever built reachable, so each pytest-xdist worker's resident memory grew by about 10 MB per module and reached 5 to 7 GB per worker on the 857-module suite. Two workers plus the controller no longer fit on the hosted runner; the VM stops responding and the job sits until its 45-minute timeout. Fixes #45362.
**The two retention roots**
1. `SupersetAppInitializer.configure_celery` subclassed whatever `celery_app.Task` currently was and installed the subclass. On a second initialization in the same process that was the previous `AppContextTask`, so each wrapper wrapped the last one and every app ever initialized stayed reachable through the task class hierarchy (after 8 test modules the MRO carried 9 wrappers). The wrapper now carries a marker and a reference to the base it wrapped; a re-initialization unwraps one level and subclasses the original Celery base again. A single initialization, which is every production path, finds no marker and constructs exactly what it did before.
2. `init_views` adds a set of menu items to the Flask-AppBuilder singleton on every initialization, and each item's link closure holds the app that registered it. The unit fixture only reset `appbuilder.baseviews`; it now resets `appbuilder.menu` alongside.
**Fixture design.** The fixture stays module-scoped. With both roots fixed, each module's app is collectable on its own (measured: 8 apps initialized, 1 alive at the end), so changing the scope was unnecessary. A session-scoped app would also have removed the growth, but it would share one app across the suite's several hundred in-place `app.config[...]` mutations and the indirect `app` parametrizations, a much larger blast radius for the same result. The fixture body moved into a module-level `build_app()` helper so the regression test and the fixture initialize apps the same way.
**Regression test.** `tests/unit_tests/test_app_reinitialization.py` initializes twice and asserts that `celery_app.Task.__mro__` does not grow (and carries exactly one wrapper) and that the first app is dead through a weakref after `gc.collect()`, naming the referrer types if not. Both tests fail on `master` (`assert 7 == 6`; `assert <SupersetApp ...> is None`) and pass here.
**Evidence**
Lost-runner kills of the unit-tests job (job lingered 15 minutes or more after the step ended; GitHub annotation "The job has exceeded the maximum execution time of 45m0s"), from the Actions API: zero in 278 cancelled runs between the xdist switch (#44178, 2026-09-12) and 2026-10-11; then 1, 4, 23 and 22 on October 12 through 15, against about 500 successes, including `master` itself. Sample killed runs: https://github.com/apache/superset/actions/runs/38619149658, https://github.com/apache/superset/actions/runs/38752136752 (both attempts), and `master` https://github.com/apache/superset/actions/runs/38563726398. The suite grew from 21,457 to 27,507 items between October 3 and October 15; the retained cost is per module, so growth alone crossed the ceiling.
Full suite with the exact CI command at `-n 2 --dist loadfile`, per-worker resident memory (local macOS; absolute numbers differ from Linux, the before/after ratio is the point):
| Tree | Worker | Peak RSS | Max RSS | Result |
|---|---|---|---|---|
| master e0e728ef | gw0 | 5,068 MB | 5,548 MB | 28 failed (local baseline), 27,433 passed |
| master e0e728ef | gw1 | 5,467 MB | 6,348 MB | |
| this branch | gw0 | 3,130 MB | 3,151 MB | 22 failed (strict subset of the baseline), 27,441 passed |
| this branch | gw1 | 3,634 MB | 3,642 MB | |
The branch's failures are a strict subset of master's local baseline (the six extra on master are `check_pot_drift_test.py`, which cannot run from the archive export used for the baseline). A residual climb of about 1 to 2 MB per module remains, down from 10 MB, and is left for a follow-up.
**Reviews.** python-review and preset-review lenses (0 blocking; all LOW and the one MEDIUM, which asked for the full-suite numbers above, addressed before the first commit), plus an independent Codex review that approved the behaviour and asked for the annotation and docstring additions in the second commit.
This PR and its description were generated by Claude (AI) on behalf of @mikebridge, who directed the investigation and reviewed the result.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Not applicable.
### TESTING INSTRUCTIONS
1. On `master`, run `pytest tests/unit_tests/test_app_reinitialization.py` with this branch's test file and conftest only: both tests fail.
2. On this branch, the same command passes.
3. Full suite: `pytest -n 2 --dist loadfile --cov=superset ./tests/common ./tests/unit_tests` while sampling each worker's RSS (for example `ps -o rss` on the `gw*` processes, or a small `pytest_runtest_protocol` hookwrapper reading `psutil.Process().memory_info().rss`): peaks drop from 5 to 7 GB per worker to about 3 to 3.6 GB, and the per-module growth drops from about 10 MB to 1 to 2 MB.
### ADDITIONAL INFORMATION
- [x] Has associated issue: Fixes #45362
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351))
- [ ] Migration is atomic, supports rollback & is backwards-compatible
- [ ] Confirm DB migration upgrade and downgrade tested
- [ ] Runtime estimates and downtime expectations provided
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
๐ค 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(tests): stop the unit suite from retaining one Superset app per module [superset]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #45364:
URL: https://github.com/apache/superset/pull/45364#issuecomment-6203287326
## [Codecov](https://app.codecov.io/gh/apache/superset/pull/45364?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:x: Patch coverage is `60.00000%` with `2 lines` in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 65.09%. Comparing base ([`e0e728e`](https://app.codecov.io/gh/apache/superset/commit/e0e728ef7644451a8b7162a7130175fdadef1571?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`f0fec1f`](https://app.codecov.io/gh/apache/superset/commit/f0fec1f3f71a2088b8930e8a39c62b3fdc39dd47?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 3 commits behind head on master.
| [Files with missing lines](https://app.codecov.io/gh/apache/superset/pull/45364?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
|---|---|---|
| [superset/initialization/\_\_init\_\_.py](https://app.codecov.io/gh/apache/superset/pull/45364?src=pr&el=tree&filepath=superset%2Finitialization%2F__init__.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3VwZXJzZXQvaW5pdGlhbGl6YXRpb24vX19pbml0X18ucHk=) | 60.00% | [1 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/superset/pull/45364?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #45364 +/- ##
==========================================
+ Coverage 56.21% 65.09% +8.87%
==========================================
Files 3045 3045
Lines 199194 199203 +9
Branches 46455 46458 +3
==========================================
+ Hits 111984 129667 +17683
+ Misses 86143 66619 -19524
- Partials 1067 2917 +1850
```
| [Flag](https://app.codecov.io/gh/apache/superset/pull/45364/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/45364/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `35.00% <60.00%> (-0.01%)` | :arrow_down: |
| [mysql](https://app.codecov.io/gh/apache/superset/pull/45364/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `52.97% <60.00%> (?)` | |
| [postgres](https://app.codecov.io/gh/apache/superset/pull/45364/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `52.97% <60.00%> (?)` | |
| [presto](https://app.codecov.io/gh/apache/superset/pull/45364/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `36.76% <60.00%> (-0.01%)` | :arrow_down: |
| [python](https://app.codecov.io/gh/apache/superset/pull/45364/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `53.16% <60.00%> (+16.36%)` | :arrow_up: |
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/45364?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(tests): stop the unit suite from retaining one Superset app per module [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 #45364:
URL: https://github.com/apache/superset/pull/45364#discussion_r4288929581
##########
superset/initialization/__init__.py:
##########
@@ -151,9 +151,21 @@ def configure_celery(self) -> None:
# setup properly
task_base = celery_app.Task
+ # ``celery_app`` is a process-wide singleton, so a second initialization
+ # in the same process (the unit suite builds one app per test module)
+ # finds the wrapper installed by the previous one. Wrap the original
+ # base again instead of wrapping the wrapper: a chain of wrappers keeps
+ # every app ever initialized reachable through the task class
+ # hierarchy, and the suite's memory then grows with every module. Only
+ # this method installs the marked wrapper, so one level is unwrapped.
+ if "_superset_app_context_task" in vars(task_base):
+ task_base = task_base._superset_task_base
Review Comment:
**Suggestion:** Already registered task classes still inherit the old wrapper, keeping its `superset_app` alive and using that stale app context after reinitialization.
**Assessment:** ๐ `Major` ยท ๐ `Occurrence: Sometimes` ยท ๐ท๏ธ `Stale reference`
[](https://docs.codeant.ai/cli/resolve-pr-comments-skill) [](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=1347c82ae47b449f8a9ca47f11acb06d&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=1347c82ae47b449f8a9ca47f11acb06d&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:** superset/initialization/__init__.py
**Line:** 162:162
**Comment:**
*Stale Reference: Already registered task classes still inherit the old wrapper, keeping its `superset_app` alive and using that stale app context after reinitialization.
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%2F45364&comment_hash=71f4bb5cc2aeb1de49f8c294a25922975a410260e80c82b9149ff97faf61fdb2&reaction=like'>๐</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F45364&comment_hash=71f4bb5cc2aeb1de49f8c294a25922975a410260e80c82b9149ff97faf61fdb2&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(tests): stop the unit suite from retaining one Superset app per module [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 #45364:
URL: https://github.com/apache/superset/pull/45364#discussion_r4290103304
##########
superset/initialization/__init__.py:
##########
@@ -151,9 +151,21 @@ def configure_celery(self) -> None:
# setup properly
task_base = celery_app.Task
+ # ``celery_app`` is a process-wide singleton, so a second initialization
+ # in the same process (the unit suite builds one app per test module)
+ # finds the wrapper installed by the previous one. Wrap the original
+ # base again instead of wrapping the wrapper: a chain of wrappers keeps
+ # every app ever initialized reachable through the task class
+ # hierarchy, and the suite's memory then grows with every module. Only
+ # this method installs the marked wrapper, so one level is unwrapped.
+ if "_superset_app_context_task" in vars(task_base):
+ task_base = task_base._superset_task_base
Review Comment:
โ
**CodeAnt verified this suggestion was addressed in subsequent commits and marked this thread resolved** as of `1044d8c`.
The wrapper no longer closes over a specific app; it reads the module-level `_celery_task_app`, which is updated on each initialization. The marker check prevents wrapping the singleton task class again.
<sub>If that's not right, unresolve this thread and CodeAnt will leave it open.</sub>
<!-- codeant-auto-resolve-reply -->
--
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(tests): stop the unit suite from retaining one Superset app per module [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #45364:
URL: https://github.com/apache/superset/pull/45364#issuecomment-6202968362
### <span aria-hidden="true">โ
</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">๐จ</span> Latest commit | f0fec1f3f71a2088b8930e8a39c62b3fdc39dd47 |
|<span aria-hidden="true">๐</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/6ad149863d18bde6bf188723 |
|<span aria-hidden="true">๐</span> Deploy Preview | [https://deploy-preview-45364--superset-docs-preview.netlify.app](https://deploy-preview-45364--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#q1YqKMrPLShRslJS0lFKKkrMS84AstMyK3RL8zJLdEtSi0t0EwsKdHNSE7OBKlJSC3LyKz1TgGrMElMMTSwtzIxTDC2SUlLNktIMLSzMjYyVagE) |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-45364--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(tests): stop the unit suite from retaining one Superset app per module [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 #45364:
URL: https://github.com/apache/superset/pull/45364#discussion_r4289661932
##########
superset/initialization/__init__.py:
##########
@@ -151,9 +151,21 @@ def configure_celery(self) -> None:
# setup properly
task_base = celery_app.Task
+ # ``celery_app`` is a process-wide singleton, so a second initialization
+ # in the same process (the unit suite builds one app per test module)
+ # finds the wrapper installed by the previous one. Wrap the original
+ # base again instead of wrapping the wrapper: a chain of wrappers keeps
+ # every app ever initialized reachable through the task class
+ # hierarchy, and the suite's memory then grows with every module. Only
+ # this method installs the marked wrapper, so one level is unwrapped.
+ if "_superset_app_context_task" in vars(task_base):
+ task_base = task_base._superset_task_base
Review Comment:
โ
**CodeAnt verified this suggestion was addressed in subsequent commits and marked this thread resolved** as of `0ba6126`.
The wrapper no longer closes over a specific app; it reads the module-level `_celery_task_app`, which is updated on each initialization. The marker check prevents wrapping the singleton task class again.
<sub>If that's not right, unresolve this thread and CodeAnt will leave it open.</sub>
<!-- codeant-auto-resolve-reply -->
--
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(tests): stop the unit suite from retaining one Superset app per module [superset]
Posted by "mikebridge (via GitHub)" <gi...@apache.org>.
mikebridge commented on code in PR #45364:
URL: https://github.com/apache/superset/pull/45364#discussion_r4289661227
##########
superset/initialization/__init__.py:
##########
@@ -151,9 +151,21 @@ def configure_celery(self) -> None:
# setup properly
task_base = celery_app.Task
+ # ``celery_app`` is a process-wide singleton, so a second initialization
+ # in the same process (the unit suite builds one app per test module)
+ # finds the wrapper installed by the previous one. Wrap the original
+ # base again instead of wrapping the wrapper: a chain of wrappers keeps
+ # every app ever initialized reachable through the task class
+ # hierarchy, and the suite's memory then grows with every module. Only
+ # this method installs the marked wrapper, so one level is unwrapped.
+ if "_superset_app_context_task" in vars(task_base):
+ task_base = task_base._superset_task_base
Review Comment:
Verified, and addressed in 0ba612656b (fix in b3ec172817, annotations in 0ba612656b).
Celery builds a task's class on first use, subclassing whatever `celery_app.Task` is at that moment, and keeps that class in the task registry for the rest of the process. The wrapper at this line captured its app in a closure, so a task first used under an earlier app kept that app alive and would push its context when called with no app context active. Probe (build app #1, register and materialize a task, build app #2, call the task from no context):
| Tree | Task built under #1 pushes | App #1 reachable through task classes | Apps pinned by the 17 registered tasks |
|---|---|---|---|
| `master` | app #1 | yes, and every later task pins it too through the chained wrappers | #1 by 17, #2 by 1 |
| previous head `f0fec1f3f7` | app #1 | yes, via the wrapper's `__call__` closure | #1 by 16, #2 by 1 |
| `0ba612656b` | app #2 (current) | no, collected after `gc.collect()` | none |
So it was not a regression against `master`, and it is not reachable in production, which initializes once; inside an active app context the `has_app_context()` short-circuit also runs the task under that context on every tree. For the unit suite it did matter: each module that first used a task pinned its app (4 of 8 apps alive at the end of a task-heavy 8-module subset).
The wrapper now resolves the app from a module-level reference when the task runs, and is installed once; `test_task_registered_under_a_previous_app_runs_under_the_current_app` fails on the previous head and passes now.
Generated by Claude (AI) on behalf of @mikebridge.
--
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(tests): stop the unit suite from retaining one Superset app per module [superset]
Posted by "aminghadersohi (via GitHub)" <gi...@apache.org>.
aminghadersohi merged PR #45364:
URL: https://github.com/apache/superset/pull/45364
--
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(tests): stop the unit suite from retaining one Superset app per module [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on PR #45364:
URL: https://github.com/apache/superset/pull/45364#issuecomment-6203621818
## CodeAnt PR Risk: Medium Risk
- The PR needs attention before merging.
- Replacing celery_app.Task does not rebase task subclasses already registered; their old wrapper may retain or use a previous app context, so verify this against the task registry.
**Assessed commit:** `f0fec1f3f71a`
--
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