Loading
Add needs_archival exclusion reason to data retention framework
What does this MR do?
Adds a new needs_archival exclusion reason to the data retention policy framework design document.
Why?
The existing indefinite_retention reason covers core entity tables (for example users, namespaces, organizations) whose rows never age out. It does not fit tables whose data has a bounded lifetime in OLTP but cannot be deleted today because it must first be moved to an archival system. Teams currently have no clean way to declare that case.
needs_archival fills that gap and is distinct from indefinite_retention:
indefinite_retention— data stays forever; the table needs to be moved to cold storage eventually.needs_archival— data has a bounded OLTP lifetime once an archival pipeline exists; the archival needs are captured in thework_item.
Changes
- Added
needs_archivalto the allowedexclude.reasonvalues in the field-spec table. - Added a bullet describing
needs_archivalin the "Allowed reasons" list. - Updated the Mermaid decision tree: split "Can the data be deleted?" into "Can the data be deleted without archival?" with a follow-up "Does the data need to be archived before deletion?" that routes to either
needs_archivalorindefinite_retention.
Related
Companion MR in gitlab-org/gitlab updates the developer docs, framework code (EXCLUDE_REASONS), and specs to match.
Edited by Panos Kanellidis