sadpandajoe commented on code in PR #45029:
URL: https://github.com/apache/superset/pull/45029#discussion_r4216504618


##########
UPDATING.md:
##########
@@ -1732,6 +1734,8 @@ Soft-deleted dashboards, charts, and datasets are now 
permanently removed after
 
 Purging is **live by default** (`SOFT_DELETE_PURGE_DRY_RUN=False`), so the 
retention promise above is real on a stock deployment. Set it to `True` to have 
the task log `would_purge` counts and delete nothing — the lever is retained, 
so an operator can return to dry-run at any time. Note `would_purge` is an 
**upper bound** — it counts every entity past the retention window without 
evaluating deletion blockers, so a real run may purge fewer (entities 
referenced by report schedules or set as a user's welcome dashboard are blocked 
and reported separately). The task only acts while the `SOFT_DELETE` rollout 
flag is on; it now ships on by default.
 
+**Scheduled-run cap (behavior change):** `SOFT_DELETE_PURGE_MAX_PER_RUN` 
defaults to 1000 successful root-entity purges across charts, dashboards, and 
datasets per invocation. One root plus its cascade counts as one; physical row 
counts are separate. The cap bounds committed deletions, not candidate 
evaluations: blocked roots are re-evaluated on every run, so a blocked-heavy 
backlog can still require substantial work. Set `0` or `None` for unlimited 
scheduled purging. Invalid values skip the task before deletion. Capped runs 
report `cap_reached` and `remaining_eligible` (aged supported roots, including 
blocked roots); `remaining_count_complete=False` and a null remainder signal a 
post-commit measurement failure without hiding successful purge totals. Model 
priority rotates by day so a sustained backlog in one model does not 
indefinitely exclude the others. Dry-run still counts the entire eligible 
backlog without writes and reports `eligible_backlog` and 
`estimated_capped_runs`; this
  is an upper-bound estimate when references block deletion. The cap is per 
task invocation, not a quota shared across concurrent workers. The manual 
`superset deletion-retention force-purge` command stays uncapped.

Review Comment:
   This says a post-commit measurement failure is what 
`remaining_count_complete=False` and a null remainder mean, but 
`_add_purge_cap_stats` also emits exactly that pair when a model scan fails or 
a commit outcome is uncertain, before or without any successful purge. An 
operator reading this would treat the alert as a monitoring gap and not look at 
the failed scan or uncertain commit behind it. Could this name those cases too, 
or point to the `failed`/error counters as the way to tell them apart?



-- 
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]

Reply via email to