On 12/05/15 16:51, James E. Blair wrote:
Clark Boylan<[email protected]>  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

_______________________________________________
OpenStack-Infra mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Reply via email to