diff --git a/CHANGES/7844.bugfix b/CHANGES/7844.bugfix new file mode 100644 index 000000000..462b270d9 --- /dev/null +++ b/CHANGES/7844.bugfix @@ -0,0 +1 @@ +Fixed duplicate key error after incomplete sync task. diff --git a/pulp_rpm/app/models/repository.py b/pulp_rpm/app/models/repository.py index d4d7cfc1b..5e64eecf4 100644 --- a/pulp_rpm/app/models/repository.py +++ b/pulp_rpm/app/models/repository.py @@ -6,10 +6,7 @@ from aiohttp.web_response import Response from django.conf import settings from django.contrib.postgres.fields import JSONField -from django.db import ( - models, - transaction, -) +from django.db import models, transaction from pulpcore.plugin.download import DownloaderFactory from pulpcore.plugin.models import ( Artifact, @@ -164,6 +161,10 @@ def new_version(self, base_version=None): """ with transaction.atomic(): + latest_version = self.versions.latest() + if not latest_version.complete: + latest_version.delete() + version = RepositoryVersion( repository=self, number=int(self.next_version),