do_copy() cannot run be asynchronously. Sort it out.
Bug #766247 reported by
Gavin Panella
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Gavin Panella |
Bug Description
Pony ride on DistributionJob, where the distribution and distroseries
are *destinations*. do_copy()'s signature is:
def do_copy(sources, archive, series, pocket, include_
It runs quickly, so there's no need to check on progress, so it
doesn't matter much that this doesn't map well onto DistributionJob.
Important: calls to do_copy() must not be made concurrently for the
same target archive. For now ensure that the job runner runs all
do_copy() jobs serially.
Related branches
lp:~allenap/launchpad/do-copy-async-bug-766247
- Brad Crittenden (community): Approve (code)
-
Diff: 644 lines (+250/-161)7 files modifiedconfigs/development/launchpad-lazr.conf (+2/-2)
cronscripts/sync-packages.py (+0/-25)
lib/canonical/config/schema-lazr.conf (+9/-2)
lib/lp/soyuz/configure.zcml (+6/-6)
lib/lp/soyuz/interfaces/distributionjob.py (+64/-33)
lib/lp/soyuz/model/packagecopyjob.py (+66/-40)
lib/lp/soyuz/tests/test_packagecopyjob.py (+103/-53)
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
StevenK has said that SyncPackageJob is not used, so I'll just modify that.