duplicate key violation, Repository.next_version already exists
We have run into the situation where the
my_repo.next_version integer already exists as one of the
my_repo. This causes a duplicate key violation when trying to to call
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.
Updated by bmbouter about 3 years ago
- Status changed from NEW to CLOSED - WORKSFORME
We looked into this on the pulp side, and we believe it's not possible due to the serialization provided by the tasking system. We haven't been able to reproduce it.
I think we'll need a reproducer to be able to move forward with a fix on the pulp side. I'm closing for now since we don't have a reproduer, but I'd like to collaborate once we have any info on how to reproduce.