We are running v3.5.3.1-9-gfc5467c and we have a very large repo with 4 mirrors (two in different countries). We are finding our pushes are slow when the furtherest repo is enabled. Turning off the repo is saving minutes off of everyones push.
I would like to turn off the asynchronous push for that mirror and manually push. Is this possible?
Thanks
Shane
>
>
> I'm confused. Asynch mirroring means that the pusher shouldn't have to
>
> wait for anything but the immediate push (to master) to complete so why
>
> are they seeing a slowdown at all, whether you enable the far-away slave
>
> or not?
>
>
>
> As for disabling the automatic mirror push while allowing a manual
>
> mirror push, that's not possible right now. I'll have to look into it
>
> and see what I can cook up.
>
>
>
> sitaram
Thanks for the reply Sitaram,
It's confusing to me too. I've done some debugging and I know it's not the post-receive hook, that is taking less then a second (debug date statements in our post-review script). And when we turned of mirroring to the one repo, everyone saw their push times get smaller.
If I'm reading the code right, at the bottom of gl-mirror-push is where the fork happens. I'm thinking of changing line 78 to
[ "$s" = "$hn" ] || [ "$s" = "farawayremote" ] && continue
and then running the mirror push in a separate dir with the original files.
Thanks
Shane
Our ~/bin/VERSION file says
v3.5.1-5-g412d9ab
It seems that someone previously updated git, but installed V3 over V2 or something. This is something I've inherited so I'm still trying to figure it out.
If I checkout 412d9ab and install to a different directory, then diff against the installed bin, I see extra files in the ~/bin dir (gl-mirror-push being one of them)
On 21/04/14 10:40 PM, lazygar...@gmail.com wrote:Alternatively, if your mirrors are read-only (in other words, pushes are
> We are running v3.5.3.1-9-gfc5467c and we have a very large repo
> with 4 mirrors (two in different countries). We are finding our
> pushes are slow when the furtherest repo is enabled. Turning off the
> repo is saving minutes off of everyones push.
only done to the master, never to the mirrors), you can use grokmirror
for pull-mirroring instead of push-mirroring natively via gitolite.
This is how we replicate 1500 repositories to 4 worldwide locations,
including to Beijing and Singapore.
https://github.com/mricon/grokmirror