Speed up hydra-update-gc-roots

The hydra-update-gc-roots script is taking around 95 minutes on our
Hydra instance (though a lot of that is I/O wait).  This patch
significantly reduces the number of database queries.  In particular,
the N most recent successful builds for each job in a jobset are now
determined in a single query.  Also, it removes the calls to
readlink().
This commit is contained in:
Eelco Dolstra
2012-03-07 15:02:31 +01:00
parent 5be004c999
commit 29d5a02b94
3 changed files with 60 additions and 58 deletions

2
src/sql/upgrade-3.sql Normal file
View File

@ -0,0 +1,2 @@
create index IndexBuildsOnKeep on Builds(keep); -- used by hydra-update-gc-roots
create index IndexMostRecentSuccessfulBuilds on Builds(project, jobset, job, system, finished, buildStatus, id desc); -- used by hydra-update-gc-roots