[Cdash] [CDash 1.6.2] AutoRemove old builds + growing database

Julien Jomier julien.jomier at kitware.com
Thu Nov 25 12:38:47 UTC 2010

Hi Olivier,

> So, what we noticed:
> - AutoRemove was not working.  Maybe because this was not set at the
> beginning of the project and that the number of builds to remove was
> already higher than 300 ?  Should we let this option empty ?

This option should work, but you might need to increase the number of 
maximum builds to be removed every day in order to start the process 
with the days you missed. On the first build of the day, CDash triggers 
the auto-remove mechanism (but doesn't optimize the database, as 
explained later in this email).

> - Our IT supervisor used the var/www/CDash/autoRemoveBuilds.php  script
> to remove the first 8 months.  However, size of the DB was still 4 Gb;
> entries in the DB were emptied but not removed so that size remains
> constant !  Is it normal that DB size is not reduced by doing so ?  When
> setting up auroRemove in project configuration, is CDash using this
> script at the first submission of the day ?
> - Our IT supervisor then optimized the DB manually through a MySQL
> console and the size shrink down to 1Gb instead of 4.

That's a MySQL problem. If you use MyISAM tables, when you delete a 
record, MySQL doesn't optimize the database and the database size 
remains constant. MySQL might reuse the free space but it's not 
guaranteed. You will have to do it manually, as you noticed. That said, 
you can run a cronjob, when your database is not used a lot. For one of 
our servers (www.cdash.org) we run the autoRemoveBuilds.php script every 
weekend and we optimize the database manually when we get a chance.


More information about the CDash mailing list