Removal of an Artifact leaves repo with associated artifactless Content forever
Steps to reproduce:
- create repo
- create importer with immediate policy
- remove Artifact by its id, e.g.
Observe no records in
pulp_app_remoteartifact for the deleted Artifact (because of
All the Content-related tables stay untouched => repository claims to have all the content.
Key attributes of deleted Artifact are left in
I don't think that importer is expected to recover from this state with a subsequent sync (e.g. RemoreArtifact doesn't exist for the deleted Artifact, so if this content no longer exists in the upstream repo + sync mode is additive, this artifactless Content will remain in repo.
Workaround: explicitly delete related Content.
Did you remove teh Artifact using REST API or directly in the database?
I don't think we want to allow the REST API for deleting Artifacts to support deletion of an Artifact if it belongs to Content that is associated with a repository.
Using REST API:
http DELETE http://127.0.0.1:8000/api/v3/artifacts/0585cddf-0782-47b2-886b-ba08d2cad163/
- Priority changed from Normal to High
- Severity changed from 2. Medium to 3. High
- Triaged changed from No to Yes
Agreed with all.
Is there a use case where we do want to enable Artifact deletion through the API? Or can we just disable that entirely?
- Sprint/Milestone set to 45
- Status changed from NEW to ASSIGNED
- Assignee set to email@example.com
- Sprint/Milestone changed from 45 to 46
- Sprint/Milestone changed from 46 to 47
- Assignee changed from firstname.lastname@example.org to ttereshc
- Sprint/Milestone changed from 47 to 48
- Status changed from ASSIGNED to POST
- Status changed from POST to MODIFIED
- Sprint/Milestone deleted (
- Sprint/Milestone set to 3.0
- Tags deleted (
Pulp 3, Pulp 3 MVP)
Please register to edit this issue
Also available in: Atom