Syncing creates RepositoryContent records even if no content was actually added
The workflow we have for errata merge:
1. During sync, we create new errata records and associate them to a repo version via RepositoryContent
2. In finalize_new_version we merge errata in the new version
3. Then we remove original errata which may have been just added in step 1
The problem is that the RepositoryContent content in step 1 still gets created and therefore will exist. It's useless and misleading to users. We have to add an extra step in pulp_rpm to delete these records.
In pulpcore, after finalize_new_version gets called, add a step which deletes any of these RepositoryContent where version_added and version_removed both point to your new version.
I think #5707 and this issue have the same root cause.
I think we have two conditions to fix:
- RepositoryContent where version_added and version_removed both point to your new version (the one mentioned above)
- RepositoryContent where version_removed and version_added both point to your new version. These need to be merged (e.g. 1-3 and 3- should become 1- )
As another implementation option, we could do the fixup directly when adding/removing content. Then, the add/remove quirks would not be visible to the finalizer.
Note that we also have the general problem that the finalizers currently operate on the wrong sets to begin with... (see #5706)
Please register to edit this issue