{"id":2237,"date":"2008-11-21T10:49:43","date_gmt":"2008-11-21T10:49:43","guid":{"rendered":"http:\/\/t.motd.kr\/articles\/2237\/removing-old-continuum-build-results-automatically"},"modified":"2022-12-28T01:45:28","modified_gmt":"2022-12-27T16:45:28","slug":"removing-old-continuum-build-results-automatically","status":"publish","type":"post","link":"https:\/\/vault.motd.kr\/wordpress\/posts\/2237\/removing-old-continuum-build-results-automatically\/","title":{"rendered":"Removing Old Continuum Build Results Automatically"},"content":{"rendered":"\n

I am using Apache Continuum<\/a> as a continuous integration<\/a> server to test Netty<\/a>, the Java NIO<\/span> Client Server Network Application Framework.<\/p>\n\n\n\n

I\u2019m pretty satisfied with the CI server since it\u2019s running more than 1000 Netty test cases about 4000 times a day with 7 different JDK<\/span>s (see the live report here<\/del>). It increases the chance for me to catch a hidden race conditions which might cause a problem in a production environment. I actually was able to find a couple critical issues like a dead lock thanks to the intensive automated testing.<\/p>\n\n\n\n

However, the caveat of running big number of tests a day is that too many build results are filed into the build report database, slowing down the overall performance of the CI server. Moreover, Continuum doesn\u2019t provide the paginated view of build results at this moment, and therefore the large number of build results can lead to high memory footprint and poor UI response time.<\/p>\n\n\n\n

So, I ended up with a simplistic tool that removes the successful build results which are older than the certain amount of time (e.g. 6 hours). Continuum provides an easy-to-use client API<\/span><\/a> which is based on XML<\/span>–RPC<\/span><\/a>, so it didn\u2019t took long.<\/p>\n\n\n\n

I run reap-old-builds<\/code> command every 10 minutes to keep the build result set as small as possible, and now Continuum is responding much faster than before. If you are interested, please check my latest work from the following Subversion repository:<\/p>\n\n\n\n