Task #5461
closedImporve performance at content relation time
100%
Description
During sync for some content, like Modulemd and Packages, relations are created.
Currently an attempt to create a relation happens for every content in that relation and regardless if it exists or not, if content is saved to the DB or is still in memory only.
To reduce DB requests, the suggestion is to inspect relations (declarative content for both content units is available) and try to create a relation if it doesn't exist.
- check that both objects are saved in the DB, if it's not the case, there is no need even to try to create a relation.
- check if the relation already exists
Updated by dalley about 5 years ago
We should use this when possible: https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.bulk_update
I don't know that we can, due to the way our content objects are structured.
If we cannot -- transactions usually help performance.
Updated by fao89 about 5 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to fao89
Updated by fao89 about 5 years ago
- Status changed from ASSIGNED to POST
Added by Fabricio Aguiar about 5 years ago
Updated by Anonymous about 5 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset b80daa3b868b63b7a08e03547da83310b2e8debc.
Updated by ttereshc almost 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Imporve performance at content relation time
https://pulp.plan.io/issues/5461 closes #5461