Issue #7495
closedduplicate key violation, Repository.next_version already exists
Description
We have run into the situation where the my_repo.next_version
integer already exists as one of the RepositoryVersion.number
s for my_repo
. This causes a duplicate key violation when trying to to call my_repo.new_version()
This has happened twice when using move_content()
on a CollectionVersion https://github.com/ansible/galaxy_ng/blob/master/galaxy_ng/app/api/v3/viewsets/collection.py#L268 which uses these tasks https://github.com/ansible/galaxy_ng/blob/master/galaxy_ng/app/tasks/promotion.py, but we don’t have recreation steps at the moment.
I would think this situation would not be possible due to https://github.com/pulp/pulpcore/blob/master/pulpcore/app/models/repository.py#L809, but maybe there is a bug in pulp or non-ideal use of locks in galaxy_ng.