queue builder is way too slow
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Invalid
|
High
|
Celso Providelo |
Bug Description
The buildd queue builder is currently extremely slow resulting in pauses of up to 15 minutes in the build queues.
Since the queue builder only runs when cron.daily isn't running and that currently eats 30 minutes of every hour anyway, we are in a position that the queue builder is running only once per hour and taking upwards of ten minutes to do its job.
Mostly this is because the queue builder considers *every* source package release in each distrorelease it is pondering. As a result things take a very long time even when there is nothing for the queue builder to do.
The following is a query which lists all the sourcepackagepu
EXPLAIN ANALYZE
SELECT SourcePackagePu
FROM SourcePackagePu
WHERE SourcePackagePu
AND SourcePackagePu
AND (SELECT COUNT(*)
FROM Build
WHERE Build.SourcePac
) <= CASE SourcePackageRe
WHEN 'any' THEN <CHROOTCOUNT>
ELSE (char_length(
END
AND SourcePackagePu
;
The DISTRORELEASEID is the numeric ID of the distrorelease in question, the CHROOTCOUNT should be the number of chroots for the distrorelease such that we could use them for building, and the PUBLISHEDSTATUS is the dbschema of the published status (2)
We should probably include a SourcePackagePu
Changed in soyuz: | |
assignee: | nobody → julian-edwards |
Changed in soyuz: | |
status: | Confirmed → In Progress |
Changed in soyuz: | |
milestone: | 1.1.10 → 1.1.11 |
Changed in soyuz: | |
milestone: | 1.1.11 → 1.1.12 |
Changed in soyuz: | |
milestone: | 1.1.12 → 1.2.1 |
Currently this really slows down distro work, sometimes leading to a delay of up to three hours between source upload and binaries hitting the archive mirrors.