On Sun, Aug 14, 2011 at 9:34 PM, Simon <tzueskj...@snkmail.com> wrote:
> We have a main master repository and a number of mirror slave repositories at 
> a bunch of locations that are set up as webdav transparent write-through 
> proxies. These are synced by a process similar to svnsync, and this all seems 
> to work okay.
>
> However, it is inevitable that there is delay in the commits at the master 
> repository propagating out to the slaves. This is not usually a problem, 
> except when a large commit has been made where the transfer time of the 
> revisions data is significant. In this situation the a client that uses the 
> slave repository can have its commit blocked because it is unable to update 
> to the latest revision because the slave repository is out of sync. This is 
> unfortunate because it makes the slave repository somewhat useless until the 
> sync has time to resolve itself. In a recent situation our slave was out of 
> sync for around 3.5 hours.
>
> Is there a workaround for this situation?
> Switching the working copies back to the master is not really feasible at 
> present because we run different UUIDs in the slave repositories, and I think 
> our users would find this too cumbersome (or too complex!).

This is *precisely* the situation I warned about.... last week? When
someone else was trying to set up that kind of live mirror pretending
to be a master-master setup. I'm quite 3.5 hours is impressive,
though. How did that happen, if you don't mind giving more detail.

> I was thinking that if the client had knowledge of the master repository 
> (perhaps as an additional property in the slave repositories properties) it 
> would be possible for it to defer back to the master for the updates under 
> these circumstances.
>
> I have a couple of other thoughts on this but I was wondering if anyone has 
> some experience in this area?
>
> Regard,
>
> Simon

This looks like what WanDisco's "Mutli-Site" tool does, with some
interesting proxying and production grade state management to
designate a preferred master and proxy traffic to it as necessary,
especially commits. There's an explanation of it at
http://www.wandisco.com/subversion/multisite.

Note that this is also one of the cases where the selection of the
Apache license for Subversion, rather than GPL, means that Wandisco
can build a business plan on selling these commercially enhanced
versions of Subversion without ever publishing the code.....

Reply via email to