Add ObjectDeletionInterface aimed at Storage classes
swh-alter
needs an interface in order to remove objects from the storage
(so we can handle takedown notices).
The chosen interface is optimal from swh-alter
point of view: it
identifies a whole range of objects with different types that can be
removed alongside a given set of origins.
Giving all objects to be removed at once might also help with consistency constraints inside the various storage facilities.
Merge request reports
Activity
changed milestone to %Tooling for takedown notices [Roadmap - Collect]
added activity::Design label
assigned to @lunar
The ideal interface for swh-alter would be the following:
class ObjectDeletionInterface(Protocol): def object_delete(self, swhids: List[ExtendedSWHID]): """Delete objects from the storage All skipped content objects matching the given SWHID will be removed, including those who have the same SWHID due to hash collisions. Origin objects are removed alongside their associated origin visit and origin visit status objects. Args: swhids: list of SWHID of the objects to remove Returns: Summary dict with the following keys and associated values: content:delete: Number of content objects removed content:delete:bytes: Sum of the removed contents’ data length skipped_content:delete: Number of skipped content objects removed directory:delete: Number of directory objects removed revision:delete: Number of revision objects removed release:delete: Number of release objects removed snapshot:delete: Number of snapshot objects removed origin:delete: Number of origin objects removed origin_visit:delete: Number of origin visit objects removed origin_visit_status:delete: Number of origin visit status objects removed """ ...
It feels quite different from the rest of StorageInterface, but maybe this is ok?
Jenkins job DSTO/gitlab-builds #306 failed .
See Console Output and Coverage Report for more details.added 1 commit
- 6b9188d6 - Add ObjectDeletionInterface aimed at Storage classes
Jenkins job DSTO/gitlab-builds #332 failed .
See Console Output and Coverage Report for more details.added 1 commit
- 90237136 - Add ObjectDeletionInterface aimed at Storage classes
Jenkins job DSTO/gitlab-builds #334 succeeded .
See Console Output and Coverage Report for more details.added 1 commit
- 4070ee07 - Add ObjectDeletionInterface aimed at Storage classes
added 1 commit
- 3e333b16 - Add ObjectDeletionInterface aimed at Storage classes
added 1 commit
- 42b5062b - Add ObjectDeletionInterface aimed at Storage classes
added 6 commits
-
42b5062b...28183e56 - 5 commits from branch
swh/devel:master
- d78a0bf9 - Add ObjectDeletionInterface aimed at Storage classes
-
42b5062b...28183e56 - 5 commits from branch
mentioned in merge request !1081 (merged)