[OpenStack-Infra] zuul-merger and garbage collection
Antoine Musso
hashar at free.fr
Tue May 12 20:36:18 UTC 2015
On 12/05/15 16:51, James E. Blair wrote:
> Clark Boylan<cboylan at sapwetik.org> writes:
>
>> >I would expect git gc on zuul merger repos to be safe. git gc only
>> >cleans up unreachable refs if they are 30 days old by default.
>
> However, a big part of the performance impact to zuul-mergers is that
> there are so many transient refs that it creates. So there will be some
> work for git gc to do, but the largest contributor to run time is
> actually refs. The solution to that might be to have zuul delete old
> refs, though we have to figure out which ones are old first.
Hello,
Wikimedia setup has been it by that slowness with merge taking as long
as 80 seconds. It can be reproduced by doing:
$ time git fetch --dry-run
real 0m18.353s
user 0m17.781s
sys 0m0.236s
The reason is that git fetch upload all refs to Gerrit to sync the
working copy and that takes a while.
I wrote a quick script that inspect all refs under refs/zuul and delete
them if they point to a commit that has a commit date older than X days.
https://review.openstack.org/#/c/109276/
That is a good manual garbage collector that I run once a month or so.
As I pointed in the commit message, a better fix would be to have Zuul
namespace its references with year/month. Something like:
refs/zuul/201505/Z....
--
Antoine "hashar" Musso
More information about the OpenStack-Infra
mailing list