aminghadersohi commented on code in PR #43471:
URL: https://github.com/apache/superset/pull/43471#discussion_r4268790026
##########
UPDATING.md:
##########
@@ -958,6 +959,32 @@ MCP `list_metrics`). The server never adds a missing
marker from metadata.
Explore query controls remain unavailable until explicit field initialization,
so legacy filter subjects cannot trigger value suggestions before reselection.
+### Superset no longer auto-generates `type:`/`editor:`/`favorited_by:` tags
+
+With `TAGGING_SYSTEM` enabled, Superset used to auto-tag every chart,
+dashboard, saved query, and dataset with implicit tags derived from
+metadata (object type, editors, and who favorited it), and generate a
+`favorited_by:<user id>` tag on every favorite/unfavorite. Nothing in the
+UI ever surfaced these tags to users — every tags list and filter in the
+frontend explicitly excluded them — so the generation added continuous
+write overhead (13 SQLAlchemy event listeners across 5 models) with no
+user-visible benefit. That generation is removed.
+
+Manually-created (custom) tags are unaffected: creating, editing,
+listing, and filtering tags still works exactly as before, including the
+`custom_tag` API filter used to distinguish custom from implicit tags.
+
+Deployments already running with `TAGGING_SYSTEM` enabled keep any
+`type:`/`editor:`/`favorited_by:` tag rows created before upgrading — they
+remain queryable via the API and MCP's `list_tags`/`get_tag_info` tools,
+and are still exempt from bulk tag deletion — but no new ones are created,
+and the `superset sync_tags` CLI command that backfilled them has been
+removed. The `DASHBOARD_LIST_CUSTOM_TAGS_ONLY` config flag and the
Review Comment:
`FavStarUpdater.after_delete` had no `tagging_enabled()` guard on master, so
un-favoriting deleted the legacy `favorited_by:` row even with the flag off.
Nothing does now and no migration cleans up, so the retained rows drift while
the API and MCP still serve them.
```suggestion
Deployments already running with `TAGGING_SYSTEM` enabled keep any
`type:`/`editor:`/`favorited_by:` tag rows created before upgrading — they
remain queryable via the API and MCP's `list_tags`/`get_tag_info` tools,
and are still exempt from bulk tag deletion — but no new ones are created,
and the `superset sync_tags` CLI command that backfilled them has been
removed. Nothing maintains those retained rows any more: un-favoriting no
longer deletes a `favorited_by:` row, and editor changes no longer prune
`editor:` rows, so they are a frozen snapshot that drifts from current
favorites and editorship. No migration removes them; delete them manually.
The `DASHBOARD_LIST_CUSTOM_TAGS_ONLY` config flag and the
```
##########
superset/tags/core.py:
##########
@@ -50,84 +56,28 @@ def _tag_delete_listener_declarations() ->
tuple[DeleteListenerDeclaration, ...]
DeleteListenerEffect.PERSISTENT_RECORD,
DashboardUpdater.after_delete,
),
+ DeleteListenerDeclaration(
+ SavedQuery,
+ "tagged_object_cleanup",
+ DeleteListenerEffect.PERSISTENT_RECORD,
+ QueryUpdater.after_delete,
+ ),
Review Comment:
Deleting this whole declaration still passes 1733 unit tests.
`tagging_tests.py` held the only assertions that chart/dataset/saved-query
deletion cleans up `tagged_object`; the new dao test covers dashboard only. No
fence — the fix needs per-object-type fixtures.
--
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]