Issue #4170
closedChecksum constraint error when syncing a package
Description
Failure from pulp_smash below.
pulp_rpm/tests/functional/api/test_publish.py:123:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/pulp_smash/pulp3/utils.py:82: in sync
return client.post(urljoin(remote['_href'], 'sync/'), data)
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/pulp_smash/api.py:444: in post
return self.request('POST', url, json=json, **kwargs)
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/pulp_smash/api.py:481: in request
requests.request(method, **request_kwargs),
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/pulp_smash/api.py:148: in json_handler
_handle_202(client._cfg, response, client.pulp_host) # pylint:disable=protected-access
../../../virtualenv/python3.6.7/lib/python3.6/site-packages/pulp_smash/api.py:88: in _handle_202
_check_tasks(tasks, ('error',))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tasks = ({'_href': '/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/', 'created': '2018-11-16T18:11:27.696106Z', 'crea...te-packages/django/db/backends/utils.py", line 85, in _execute\n return self.cursor.execute(sql, params)\n'}, ...},)
task_errors = ('error',)
def _check_tasks(tasks, task_errors):
"""Inspect each task's ``error``, ``exception`` and ``traceback`` fields.
If any of these fields is non-null for any tasks, raise a
``TaskReportError``.
"""
for task in tasks:
for field in task_errors:
if task[field] is not None:
msg = 'Task report {} contains a {}: {}\nFull task report: {}'
msg = msg.format(task['_href'], field, task[field], task)
> raise exceptions.TaskReportError(msg, task)
E pulp_smash.exceptions.TaskReportError: ('Task report /pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/ contains a error: {\'code\': None, \'description\': \'duplicate key value violates unique constraint "pulp_rpm_package_pkgId_key"\\nDETAIL: Key ("pkgId")=(ceb0f0bb58be244393cc565e8ee5ef0ad36884d8ba8eec74542ff47d299a34c1) already exists.\\n\', \'traceback\': \' File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/worker.py", line 793, in perform_job\\n rv = job.perform()\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 599, in perform\\n self._result = self._execute()\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 605, in _execute\\n return self.func(*self.args, **self.kwargs)\\n File "/home/travis/build/pulp/pulp_rpm/pulp_rpm/app/tasks/synchronizing.py", line 69, in synchronize\\n loop.run_until_complete(pipeline)\\n File "/opt/python/3.6.7/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete\\n return future.result()\\n File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/api.py", line 129, in create_pipeline\\n await asyncio.gather(*futures)\\n File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/content_unit_stages.py", line 115, in __call__\\n declarative_content.content.save()\\n File "/home/travis/build/pulp/pulp/pulpcore/pulpcore/app/models/base.py", line 83, in save\\n return super().save(*args, **kwargs)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 718, in save\\n force_update=force_update, update_fields=update_fields)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 748, in save_base\\n updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 831, in _save_table\\n result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 869, in _do_insert\\n using=using, raw=raw)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method\\n return getattr(self.get_queryset(), name)(*args, **kwargs)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/query.py", line 1136, in _insert\\n return query.get_compiler(using=using).execute_sql(return_id)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1289, in execute_sql\\n cursor.execute(sql, params)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute\\n return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers\\n return executor(sql, params, many, context)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\\n return self.cursor.execute(sql, params)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__\\n raise dj_exc_value.with_traceback(traceback) from exc_value\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\\n return self.cursor.execute(sql, params)\\n\'}\nFull task report: {\'_href\': \'/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/\', \'created\': \'2018-11-16T18:11:27.696106Z\', \'state\': \'failed\', \'started_at\': \'2018-11-16T18:11:27.807960Z\', \'finished_at\': \'2018-11-16T18:11:28.477947Z\', \'non_fatal_errors\': [], \'error\': {\'code\': None, \'description\': \'duplicate key value violates unique constraint "pulp_rpm_package_pkgId_key"\\nDETAIL: Key ("pkgId")=(ceb0f0bb58be244393cc565e8ee5ef0ad36884d8ba8eec74542ff47d299a34c1) already exists.\\n\', \'traceback\': \' File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/worker.py", line 793, in perform_job\\n rv = job.perform()\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 599, in perform\\n self._result = self._execute()\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 605, in _execute\\n return self.func(*self.args, **self.kwargs)\\n File "/home/travis/build/pulp/pulp_rpm/pulp_rpm/app/tasks/synchronizing.py", line 69, in synchronize\\n loop.run_until_complete(pipeline)\\n File "/opt/python/3.6.7/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete\\n return future.result()\\n File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/api.py", line 129, in create_pipeline\\n await asyncio.gather(*futures)\\n File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/content_unit_stages.py", line 115, in __call__\\n declarative_content.content.save()\\n File "/home/travis/build/pulp/pulp/pulpcore/pulpcore/app/models/base.py", line 83, in save\\n return super().save(*args, **kwargs)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 718, in save\\n force_update=force_update, update_fields=update_fields)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 748, in save_base\\n updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 831, in _save_table\\n result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 869, in _do_insert\\n using=using, raw=raw)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method\\n return getattr(self.get_queryset(), name)(*args, **kwargs)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/query.py", line 1136, in _insert\\n return query.get_compiler(using=using).execute_sql(return_id)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1289, in execute_sql\\n cursor.execute(sql, params)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute\\n return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers\\n return executor(sql, params, many, context)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\\n return self.cursor.execute(sql, params)\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__\\n raise dj_exc_value.with_traceback(traceback) from exc_value\\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\\n return self.cursor.execute(sql, params)\\n\'}, \'worker\': \'/pulp/api/v3/workers/2/\', \'parent\': None, \'spawned_tasks\': [], \'progress_reports\': [{\'message\': \'Downloading and Parsing Metadata\', \'state\': \'completed\', \'total\': 5, \'done\': 5, \'suffix\': \'\', \'task\': \'/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/\'}, {\'message\': \'Downloading Artifacts\', \'state\': \'completed\', \'total\': None, \'done\': 0, \'suffix\': \'\', \'task\': \'/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/\'}, {\'message\': \'Associating Content\', \'state\': \'canceled\', \'total\': None, \'done\': 0, \'suffix\': \'\', \'task\': \'/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/\'}], \'created_resources\': []}', {'_href': '/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/', 'created': '2018-11-16T18:11:27.696106Z', 'state': 'failed', 'started_at': '2018-11-16T18:11:27.807960Z', 'finished_at': '2018-11-16T18:11:28.477947Z', 'non_fatal_errors': [], 'error': {'code': None, 'description': 'duplicate key value violates unique constraint "pulp_rpm_package_pkgId_key"\nDETAIL: Key ("pkgId")=(ceb0f0bb58be244393cc565e8ee5ef0ad36884d8ba8eec74542ff47d299a34c1) already exists.\n', 'traceback': ' File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/worker.py", line 793, in perform_job\n rv = job.perform()\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 599, in perform\n self._result = self._execute()\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 605, in _execute\n return self.func(*self.args, **self.kwargs)\n File "/home/travis/build/pulp/pulp_rpm/pulp_rpm/app/tasks/synchronizing.py", line 69, in synchronize\n loop.run_until_complete(pipeline)\n File "/opt/python/3.6.7/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete\n return future.result()\n File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/api.py", line 129, in create_pipeline\n await asyncio.gather(*futures)\n File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/content_unit_stages.py", line 115, in __call__\n declarative_content.content.save()\n File "/home/travis/build/pulp/pulp/pulpcore/pulpcore/app/models/base.py", line 83, in save\n return super().save(*args, **kwargs)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 718, in save\n force_update=force_update, update_fields=update_fields)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 748, in save_base\n updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 831, in _save_table\n result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 869, in _do_insert\n using=using, raw=raw)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method\n return getattr(self.get_queryset(), name)(*args, **kwargs)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/query.py", line 1136, in _insert\n return query.get_compiler(using=using).execute_sql(return_id)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1289, in execute_sql\n cursor.execute(sql, params)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute\n return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers\n return executor(sql, params, many, context)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\n return self.cursor.execute(sql, params)\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__\n raise dj_exc_value.with_traceback(traceback) from exc_value\n File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\n return self.cursor.execute(sql, params)\n'}, 'worker': '/pulp/api/v3/workers/2/', 'parent': None, 'spawned_tasks': [], 'progress_reports': [{'message': 'Downloading and Parsing Metadata', 'state': 'completed', 'total': 5, 'done': 5, 'suffix': '', 'task': '/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/'}, {'message': 'Downloading Artifacts', 'state': 'completed', 'total': None, 'done': 0, 'suffix': '', 'task': '/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/'}, {'message': 'Associating Content', 'state': 'canceled', 'total': None, 'done': 0, 'suffix': '', 'task': '/pulp/api/v3/tasks/6d288ec1-4562-467e-9538-ca64cd8b747c/'}], 'created_resources': []})
Related issues
Updated by daviddavis about 6 years ago
- Subject changed from Syncing two packages with the same checksum fails to Checksum constraint error when syncing a package
- Description updated (diff)
Updating the description. Not sure exactly what's causing this problem.
Updated by daviddavis about 6 years ago
I reproduced it:
http POST http://localhost:8000/pulp/api/v3/repositories/ name=foo
http POST http://localhost:8000/pulp/api/v3/remotes/rpm/ url='https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-references-updateinfo/' name=bar
http POST :8000/pulp/api/v3/remotes/rpm/1/sync/ repository=/pulp/api/v3/repositories/1/
http POST http://localhost:8000/pulp/api/v3/repositories/ name=foo2
http POST http://localhost:8000/pulp/api/v3/remotes/rpm/ url='https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned/' name=bar2
http POST :8000/pulp/api/v3/remotes/rpm/2/sync/ repository=/pulp/api/v3/repositories/2/
I see duplicate key value violates unique constraint \"pulp_rpm_package_pkgId_key\"
when I look at the task.
Updated by daviddavis about 6 years ago
It looks like this line is the problem:
It probably needs to catch the IntegrityError and then query the database for the unit.
Updated by dalley about 6 years ago
- Triaged changed from No to Yes
- Sprint set to Sprint 46
Updated by ttereshc about 6 years ago
This issue might be addressed with that PR https://github.com/pulp/pulp/pull/3764/
It needs retesting.
Updated by dkliban@redhat.com about 6 years ago
I agree ttereshc. Here is a better formatted traceback:
Key ("pkgId")=(ceb0f0bb58be244393cc565e8ee5ef0ad36884d8ba8eec74542ff47d299a34c1) already exists.\
\', \'traceback\': \' File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/worker.py", line 793, in perform_job\
rv = job.perform()\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 599, in perform\
self._result = self._execute()\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/rq/job.py", line 605, in _execute\
return self.func(*self.args, **self.kwargs)\
File "/home/travis/build/pulp/pulp_rpm/pulp_rpm/app/tasks/synchronizing.py", line 69, in synchronize\
loop.run_until_complete(pipeline)\
File "/opt/python/3.6.7/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete\
return future.result()\
File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/api.py", line 129, in create_pipeline\
await asyncio.gather(*futures)\
File "/home/travis/build/pulp/pulp/plugin/pulpcore/plugin/stages/content_unit_stages.py", line 115, in __call__\
declarative_content.content.save()\
File "/home/travis/build/pulp/pulp/pulpcore/pulpcore/app/models/base.py", line 83, in save\
return super().save(*args, **kwargs)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 718, in save\
force_update=force_update, update_fields=update_fields)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 748, in save_base\
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 831, in _save_table\
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/base.py", line 869, in _do_insert\
using=using, raw=raw)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method\
return getattr(self.get_queryset(), name)(*args, **kwargs)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/query.py", line 1136, in _insert\
return query.get_compiler(using=using).execute_sql(return_id)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1289, in execute_sql\
cursor.execute(sql, params)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute\
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers\
return executor(sql, params, many, context)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\
return self.cursor.execute(sql, params)\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__\
raise dj_exc_value.with_traceback(traceback) from exc_value\
File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute\
return self.cursor.execute(sql, params)
The problem is on line 115 of content_unit_stages.py. The patch you mention added a try: except block around that code.
Updated by dkliban@redhat.com about 6 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to dkliban@redhat.com
I retested with the latest version of pulpcore and I am now observing a different traceback in this area. I am taking this issue as assigned now.
pulp: rq.worker:ERROR: django.db.transaction.TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic'
block.
Traceback (most recent call last):
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.IntegrityError: duplicate key value violates unique constraint "pulp_rpm_package_pkgId_key"
DETAIL: Key ("pkgId")=(ceb0f0bb58be244393cc565e8ee5ef0ad36884d8ba8eec74542ff47d299a34c1) already exists.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/vagrant/devel/pulp/plugin/pulpcore/plugin/stages/content_unit_stages.py", line 116, in __call__
declarative_content.content.save()
File "/home/vagrant/devel/pulp/pulpcore/pulpcore/app/models/base.py", line 83, in save
return super().save(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 718, in save
force_update=force_update, update_fields=update_fields)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 748, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 831, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 869, in _do_insert
using=using, raw=raw)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/query.py", line 1136, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1289, in execute_sql
cursor.execute(sql, params)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 100, in execute
return super().execute(sql, params)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
Updated by dkliban@redhat.com almost 6 years ago
- Status changed from ASSIGNED to POST
Added by dkliban@redhat.com almost 6 years ago
Added by dkliban@redhat.com almost 6 years ago
Revision db96e27f | View on GitHub
Problem: duplicate content can't by synced
Solution: fix the content unit saver stage
This patch addresses 2 problems:
-
Error because an exception was being caught during a transaction
-
The q() method did not provide the correct query for Content objects
Updated by dkliban@redhat.com almost 6 years ago
- Status changed from POST to MODIFIED
Applied in changeset pulp:pulp|db96e27f72b2d8f0478fc3b795efe82039389ca2.
Updated by bherring almost 6 years ago
- Related to Test #4255: Checksum constraint error when syncing a package added
Updated by bherring almost 6 years ago
- Related to Test #4257: QueryExistingArtifacts stage does not prevent duplicates within a stream added
Updated by ttereshc almost 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Problem: duplicate content can't by synced
Solution: fix the content unit saver stage
This patch addresses 2 problems:
Error because an exception was being caught during a transaction
The q() method did not provide the correct query for Content objects
closes #4170 https://pulp.plan.io/issues/4170