mikebridge commented on code in PR #42863:
URL: https://github.com/apache/superset/pull/42863#discussion_r3732055835
##########
superset/tasks/deletion_retention.py:
##########
@@ -280,7 +280,17 @@ def _purge_one(
removed_dashboard_slices=result.removed_dashboard_slices,
)
elif result.blocked_reason is not None:
- audit.block(record_id)
+ disposition: audit.RetentionBlockedDisposition = (
+ audit.finalize_retention_blocked(record_id)
+ )
+ if disposition == "suppressed":
+ stats_logger_manager.instance.incr(
+ f"{_METRIC_PREFIX}.blocked_audit_suppressed"
+ )
+ elif disposition == "fallback":
+ stats_logger_manager.instance.incr(
+ f"{_METRIC_PREFIX}.blocked_audit_dedupe_fallback"
+ )
Review Comment:
Thanks for flagging this. The retained disposition is the normal blocked
outcome and is already represented by the existing
deletion_retention.blocked_by_reference workload gauge. The two metrics added
here intentionally cover only the new deduplication behavior: successful
suppression and fail-safe fallback. Adding a retained metric would duplicate
the existing blocked-workload signal, so no change is needed.
##########
superset/migrations/versions/2026-08-06_18-00_b8d2f4a6c901_index_purge_audit_predecessor.py:
##########
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+"""index purge audit predecessor lookup
+
+Revision ID: b8d2f4a6c901
+Revises: c4a1b8e2d739
+Create Date: 2026-08-06 18:00:00.000000
+
+"""
+
+from superset.migrations.shared.utils import create_index, drop_index
+
+# revision identifiers, used by Alembic.
+revision: str = "b8d2f4a6c901"
+down_revision: str = "c4a1b8e2d739"
Review Comment:
Thanks for checking the lineage. c4a1b8e2d739 is the current Alembic head at
this PR's base, while e7d93a524ff6 is already its ancestor through the
intervening migration chain (e7d93a524ff6 → f3a8c1d2e9b7 → … → 1a27941d5352 →
c4a1b8e2d739). A new migration must descend from the current head; pointing it
directly at the table-creation migration would create a second head. The
existing down_revision is therefore intentional.
--
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]