Re: Buildd backlog and testing transition.
Petter Reinholdtsen <email@example.com> wrote:
>> The buildd queues aren't FIFO, this has been explained already a
>> dozen times if not more.
> And every time that discussion surfaces, suggestions to include age in
> the formula used to calculate the build order are presented. Also
> suggestions to include amount of dependencies normally show up. I
> wish some of these suggestions would fix some of the starvation issues
> with the current autobuild system.
The age of a package is not pertinent here.
The way the buildd queue works has it sort itself out when a backlog
builds due to whatever reason, but that induces starvation at the
testing migration level.
Trying to build newer packages first is not necessarily a bad tactic;
those packages will either build, which is good, or fail to build due
to a build-dep being unavailable. In this case, they're set dep-wait
and they're no longer in the queue, so packages part of the backlog
start to get at the top of the queue.
Once they're built, the dep-wait start being resolved, and the queue
sorts itself out. I'd say from the buildd perspective, that works
great as long as the dep-wait get set (which is a manual action). Of
course it wastes /some/ buildd time, but in the meantime, any new
package that can be built gets built which is a good thing.
There's always the other tactic, indeed, consisting in building in a
FIFO order. That's a matter of choice, and I think the current system
benefits to packages that matters in terms of build-deps (balanced
with the other parameters).
But, as said and as we see routinely, this induces starvation in the
testing migration. So if you want to add a new parameter in the buildd
queue, the amount of packages waiting for testing migration due to the
specific package being considered is way more pertinent than the sole
age of the package in the buildd queue.
Julien BLACHE - Debian & GNU/Linux Developer - <firstname.lastname@example.org>
Public key available on <http://www.jblache.org> - KeyID: F5D6 5169
GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169