Buildmaster has performance issues

Bug #6597 reported by Celso Providelo
6
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Celso Providelo

Bug Description

Currently buildmaster handles the queue entries in a very uneficient manner: huge fetches in BQ table, ordering and sorting in python code. It needs to be solved before Soyuz Rollout.

Celso Providelo (cprov)
Changed in launchpad-buildd:
assignee: nobody → cprov
status: Unconfirmed → Confirmed
Revision history for this message
Celso Providelo (cprov) wrote :

It will become serious when buiding PPA.

Revision history for this message
Christian Reis (kiko) wrote :

What methods do this fetching? I could take a look at helping with this if you point out the code to me.

Revision history for this message
Celso Providelo (cprov) wrote :

Ok,

createMissingBuilds & addMissingBuildQueueEntries are the critical methods, nonetheless changes there will affect the entire module, for instance: scoreBuildQueueEntry, sortAndSplitByProcessor, dispatchByProcessor, etc

The way we reorganize the DB information in python domain (dicts) is the problem itself.

Revision history for this message
Julian Edwards (julian-edwards) wrote :

This is a very old bug. How much of it is still pertinent in regards to today's code base?

Revision history for this message
Celso Providelo (cprov) wrote :

The code steps seem to be fast enough in our current codebase. The main cause of poor performance is the fact that the builder-scanning is a serialized procedure. It check for builders processing jobs and deal with their results one at time, this clearly gets worse when we add more builders.

Ideally we should be able to parallelize the scanning procedure and then be able to collect results quickly.

Another major cause of the delays in are cause by waiting sockets to timeout (120s) in case of failures. This mechanism should be redesign.

Changed in soyuz:
assignee: cprov → al-maisan
milestone: none → pending
Celso Providelo (cprov)
Changed in soyuz:
milestone: pending → 2.2.1
status: Confirmed → Triaged
Changed in soyuz:
milestone: 2.2.1 → 2.2.2
Changed in soyuz:
status: Triaged → In Progress
Revision history for this message
Julian Edwards (julian-edwards) wrote :

RF 7848

Changed in soyuz:
assignee: al-maisan → cprov
status: In Progress → 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.