Actions
Issue #7904
closedPulpImport can deadlock when importing Centos*-base and app-stream in one import file
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:
Description
Sequence of events is:
- Create, sync, and export centos8 base and appstream
- pclean
- Create empty repos and importer to import into them
- import the export
- deadlock (there is no step, 'Profit!')
The scripts used for Step 1 and Step 3 are:
- Create-and-sync Centos8
- Create exporter for the above
- Create Repos and Importer to receive the above export
Task-output when deadlock detected:
(pulp) [vagrant@pulp2-nightly-pulp3-source-centos7 import_export]$ http :/pulp/api/v3/tasks/ac6d1903-ef42-4401-b189-14eccfa197a3/
{
"child_tasks": [],
"created_resources": [],
"error": {
"description": "deadlock detected\nDETAIL: Process 3133 waits for ShareLock on transaction 39285; blocked by process 3121.\nProcess 3121 waits for ShareLock on transaction 39288; blocked by process 3133.\nHINT: See server log for query details.\nCONTEXT: while inserting index tuple (36,4) in relation \"rpm_package_pkgId_key\"\n",
"traceback": " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py\", line 975, in perform_job\n rv = job.perform()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 692, in perform\n self._result = self._execute()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 698, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/home/vagrant/devel/pulpcore/pulpcore/app/tasks/importer.py\", line 150, in import_repository_version\n a_result = _import_file(os.path.join(rv_path, filename), res_class)\n File \"/home/vagrant/devel/pulpcore/pulpcore/app/tasks/importer.py\", line 61, in _import_file\n return resource.import_data(data, raise_errors=True)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py\", line 745, in import_data\n return self.import_data_inner(dataset, dry_run, raise_errors, using_transactions, collect_failed_rows, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py\", line 792, in import_data_inner\n raise row_result.errors[-1].error\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py\", line 672, in import_row\n self.save_instance(instance, using_transactions, dry_run)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py\", line 450, in save_instance\n instance.save()\n File \"/home/vagrant/devel/pulpcore/pulpcore/app/models/base.py\", line 115, in save\n return super().save(*args, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django_lifecycle/mixins.py\", line 129, in save\n save(*args, **kwargs)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\", line 744, in save\n force_update=force_update, update_fields=update_fields)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\", line 782, in save_base\n force_update, using, update_fields,\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\", line 873, in _save_table\n result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\", line 911, in _do_insert\n using=using, raw=raw)\n File \"/usr/local/lib/pulp/lib64/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 \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/query.py\", line 1186, in _insert\n return query.get_compiler(using=using).execute_sql(return_id)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py\", line 1377, in execute_sql\n cursor.execute(sql, params)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 67, in execute\n return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 76, in _execute_with_wrappers\n return executor(sql, params, many, context)\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 84, in _execute\n return self.cursor.execute(sql, params)\n File \"/usr/local/lib/pulp/lib64/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 \"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 84, in _execute\n return self.cursor.execute(sql, params)\n"
},
"finished_at": "2020-11-30T21:52:04.749698Z",
"name": "pulpcore.app.tasks.importer.import_repository_version",
"parent_task": "/pulp/api/v3/tasks/6264f228-a93e-4477-9b42-1bd760c50abe/",
"progress_reports": [],
"pulp_created": "2020-11-30T21:36:50.180795Z",
"pulp_href": "/pulp/api/v3/tasks/ac6d1903-ef42-4401-b189-14eccfa197a3/",
"reserved_resources_record": [
"/pulp/api/v3/repositories/rpm/rpm/0d5f1f84-183a-4686-a9d3-a0d428e1057d/"
],
"started_at": "2020-11-30T21:36:56.391655Z",
"state": "failed",
"task_group": "/pulp/api/v3/task-groups/da6c57c4-5c28-47f1-971c-480e6c2538ec/",
"worker": "/pulp/api/v3/workers/03c6d158-ea61-48b7-bd73-8888a37b3aac/"
}
journalctl output:
Nov 30 21:46:41 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com gunicorn[2808]: 127.0.0.1 - admin [30/Nov/2020:21:46:41 +0000] "GET /pulp/api/v3/tasks/ac6d1903-ef42-4401-b189-14eccfa197a3/ HTTP/1.1" 200 660 "-" "HTTPie/2.3.0"
Nov 30 21:51:58 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: pulp: pulpcore.app.tasks.importer:INFO: Importing file /tmp/tmp_orxezjs/repository-centos8-base_1/pulp_rpm.app.modelresource.PackageResource.json.
Nov 30 21:51:58 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2805]: pulp: pulpcore.app.tasks.importer:INFO: Importing file /tmp/tmpkaqoodxm/repository-centos8-apps_1/pulp_rpm.app.modelresource.PackageResource.json.
Nov 30 21:51:59 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2805]: pulp: pulpcore.app.tasks.importer:INFO: ...Importing resource PackageResource.
Nov 30 21:52:02 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: pulp: pulpcore.app.tasks.importer:INFO: ...Importing resource PackageResource.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: pulp: rq.worker:ERROR: Traceback (most recent call last):
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: psycopg2.errors.DeadlockDetected: deadlock detected
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: DETAIL: Process 3133 waits for ShareLock on transaction 39285; blocked by process 3121.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Process 3121 waits for ShareLock on transaction 39288; blocked by process 3133.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: HINT: See server log for query details.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: CONTEXT: while inserting index tuple (36,4) in relation "rpm_package_pkgId_key"
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: The above exception was the direct cause of the following exception:
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Traceback (most recent call last):
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py", line 975, in perform_job
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: rv = job.perform()
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 692, in perform
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: self._result = self._execute()
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 698, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.func(*self.args, **self.kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/home/vagrant/devel/pulpcore/pulpcore/app/tasks/importer.py", line 150, in import_repository_version
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: a_result = _import_file(os.path.join(rv_path, filename), res_class)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/home/vagrant/devel/pulpcore/pulpcore/app/tasks/importer.py", line 61, in _import_file
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return resource.import_data(data, raise_errors=True)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 745, in import_data
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.import_data_inner(dataset, dry_run, raise_errors, using_transactions, collect_failed_rows, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 792, in import_data_inner
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: raise row_result.errors[-1].error
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 672, in import_row
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: self.save_instance(instance, using_transactions, dry_run)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 450, in save_instance
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: instance.save()
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/home/vagrant/devel/pulpcore/pulpcore/app/models/base.py", line 115, in save
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return super().save(*args, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django_lifecycle/mixins.py", line 129, in save
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: save(*args, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 744, in save
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: force_update=force_update, update_fields=update_fields)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: force_update, using, update_fields,
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: using=using, raw=raw)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return getattr(self.get_queryset(), name)(*args, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return query.get_compiler(using=using).execute_sql(return_id)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return executor(sql, params, many, context)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: raise dj_exc_value.with_traceback(traceback) from exc_value
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: django.db.utils.OperationalError: deadlock detected
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: DETAIL: Process 3133 waits for ShareLock on transaction 39285; blocked by process 3121.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Process 3121 waits for ShareLock on transaction 39288; blocked by process 3133.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: HINT: See server log for query details.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: CONTEXT: while inserting index tuple (36,4) in relation "rpm_package_pkgId_key"
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Traceback (most recent call last):
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: psycopg2.errors.DeadlockDetected: deadlock detected
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: DETAIL: Process 3133 waits for ShareLock on transaction 39285; blocked by process 3121.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Process 3121 waits for ShareLock on transaction 39288; blocked by process 3133.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: HINT: See server log for query details.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: CONTEXT: while inserting index tuple (36,4) in relation "rpm_package_pkgId_key"
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: The above exception was the direct cause of the following exception:
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Traceback (most recent call last):
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py", line 975, in perform_job
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: rv = job.perform()
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 692, in perform
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: self._result = self._execute()
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py", line 698, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.func(*self.args, **self.kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/home/vagrant/devel/pulpcore/pulpcore/app/tasks/importer.py", line 150, in import_repository_version
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: a_result = _import_file(os.path.join(rv_path, filename), res_class)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/home/vagrant/devel/pulpcore/pulpcore/app/tasks/importer.py", line 61, in _import_file
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return resource.import_data(data, raise_errors=True)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 745, in import_data
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.import_data_inner(dataset, dry_run, raise_errors, using_transactions, collect_failed_rows, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 792, in import_data_inner
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: raise row_result.errors[-1].error
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 672, in import_row
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: self.save_instance(instance, using_transactions, dry_run)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/import_export/resources.py", line 450, in save_instance
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: instance.save()
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/home/vagrant/devel/pulpcore/pulpcore/app/models/base.py", line 115, in save
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return super().save(*args, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django_lifecycle/mixins.py", line 129, in save
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: save(*args, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 744, in save
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: force_update=force_update, update_fields=update_fields)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 782, in save_base
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: force_update, using, update_fields,
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 873, in _save_table
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py", line 911, in _do_insert
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: using=using, raw=raw)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return getattr(self.get_queryset(), name)(*args, **kwargs)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/query.py", line 1186, in _insert
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return query.get_compiler(using=using).execute_sql(return_id)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py", line 1377, in execute_sql
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return executor(sql, params, many, context)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: File "/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: return self.cursor.execute(sql, params)
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: django.db.utils.OperationalError: deadlock detected
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: DETAIL: Process 3133 waits for ShareLock on transaction 39285; blocked by process 3121.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: Process 3121 waits for ShareLock on transaction 39288; blocked by process 3133.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: HINT: See server log for query details.
Nov 30 21:52:04 pulp2-nightly-pulp3-source-centos7.padre-fedora.example.com rq[2806]: CONTEXT: while inserting index tuple (36,4) in relation "rpm_package_pkgId_key"
Related issues
Actions
Ordered querysets in ModelResources for export.
Ordering-on-export insures we won't deadlock at import-time when repo-versions have overlapping content.
Accepting this change without the referenced pulpcore fix will result in fixing the deadlock, but generating unique-constraint violations in the same place at import-time.
fixes #7904
Required PR: https://github.com/pulp/pulpcore/pull/1278