bito-code-review[bot] commented on code in PR #42863:
URL: https://github.com/apache/superset/pull/42863#discussion_r3732056472
##########
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:
<!-- Bito Reply -->
The reviewer's suggestion to add a metric for the 'retained' disposition is
noted. However, as explained, the current implementation intentionally focuses
on the new deduplication behaviors (suppression and fallback) as specified in
the feature requirements. Since the existing workload gauge already tracks all
blocked outcomes, including 'retained' ones, adding a dedicated counter for
this path would be redundant and is not required for this feature.
##########
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:
<!-- Bito Reply -->
The reviewer's suggestion to change the `down_revision` is incorrect in this
context. As noted, Alembic migration chains are linear and ordered by time, not
by the specific table being modified. Pointing the `down_revision` to an older
migration would create a fork in the history, resulting in multiple heads and
breaking the migration process. The current `down_revision` correctly maintains
the linear history from the repository's head.
--
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]