PCJ runner has no prioritisation facilities

Bug #1064274 reported by Colin Watson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Colin Watson

Bug Description

We'd like to open up asynchronous copies in Archive:+copy-packages to everyone in order to be able to close several criticals and remove a pile of old code. However, there's some concern that Ubuntu auto-sync runs, which create thousands of PackageCopyJobs, will starve interactive copies between PPAs. Due to various production limitations there appears to be no straightforward way for us to scale up our PCJ-running capacity right now. In any case, the problem is not really one of capacity (carob only has relevant logs since 20121004 right now, but the peak since then has been 256 copies per day, 126 of which were to the Ubuntu primary archive; the longest the queue has been is 49, and that took 23 seconds to process) but of prioritisation.

I don't think the flow rate of routine copy jobs is sufficient to justify any work on prioritising between those, but Ubuntu auto-syncs are not routine: the first one of a cycle usually involves the submission of a couple of thousand PCJs in a matter of minutes (not quite instant because Archive.copyPackages times out with an excessively long list, so we have to subdivide it). We really don't care about how long it takes to process those copies, since it's going to take them days to build anyway, and it would be entirely fine for them to be preempted by other copies.

Auto-syncs are one of the very few users of Archive.copyPackages, which creates PCJs with copy_policy MASS_SYNC. Therefore, a reasonable prioritisation policy would seem to be to prioritise MASS_SYNC behind everything else.

Related branches

Revision history for this message
Colin Watson (cjwatson) wrote :

It's hard to get accurate data automatically since there's nothing persistent that delimits one Archive.copyPackage(s) call from another, but from inspection of the date_created fields of early SPPHs in quantal, I believe that the first auto-sync pass contained on the general order of 3000 copies and took 1h21m.

Changed in launchpad:
status: New → Triaged
importance: Undecided → High
Curtis Hovey (sinzui)
tags: added: packages soyuz-build
William Grant (wgrant)
tags: added: package-copies soyuz-core
removed: soyuz-build
Colin Watson (cjwatson)
Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → In Progress
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Colin Watson (cjwatson)
tags: added: qa-ok
removed: qa-needstesting
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.