The article describes a specific upgrade procedures that you should perform when upgrading to VisualSVN Server 3.7 in a multisite environment from VisualSVN Server 3.4 or earlier version. You should consider the article if you use Multisite Repository Replication feature and have distributed repositories based on VisualSVN Distributed File System (VDFS) technology.
You don’t need to consider the article if you upgrade from VisualSVN Server 3.5 and newer or in case you already have VisualSVN Server 3.7 installed and just applying a patch update for it.
The complexity of the upgrade procedure depends on the replication topology of your distributed repositories. VisualSVN Server allows you to have two types of replication topology: star topology or peer-to-peer topology. You have a star replication topology if all of your master VDFS repositories are hosted on the same instance of VisualSVN Server (which is located in your headquarters, for example). You have a peer-to-peer replication topology if master and slave VDFS repositories are mixed on some of your VisualSVN Server instances.
The upgrade procedures described below ensure that the upgrade will cause none or minimal interruption of the replication between multisite repositories. You can upgrade your replication servers in any order if you don’t care about the replication interruption. Your repositories are safe even if you upgrade your servers in an arbitrary order.
How to determine which replication topology is being used
You can determine which replication topology is being used by looking through your servers and examining whether slave and master VDFS repositories are mixed on some of your VisualSVN Server instances or not.
Perform the following steps for each of your VisualSVN Server instances:
- Connect to VisualSVN Server using VisualSVN Server Manager.
- On the left pane of VisualSVN Server Manager, select the Repositories node. All the repositories will be listed in the right pane.
- Examine the Type column for each of the listed repositories:
- You have the peer-to-peer replication topology if VDFS (master) and VDFS (slave) repositories are mixed on some of your VisualSVN Server instances.
- You have the star replication topology if VDFS (master) and VDFS (slave) repositories on any of your VisualSVN Server instances do never mix.
Upgrading to VisualSVN Server 3.7 in a star replication topology
You have a star replication topology if all of your master VDFS repositories are hosted on the same instance of VisualSVN Server. For example, it is a star topology if all master VDFS repositories are hosted on the server in Berlin and all slave VDFS repositories are hosted on the servers in New York and Rome.
The upgrade procedure for the star replication topology is the following:
- Upgrade the server that hosts all the master VDFS repositories to VisualSVN Server 3.7. Replication will not be interrupted because the master-side of the new VDFS protocol is backward compatible with the old version.
- Upgrade all other VisualSVN Server instances to version 3.7 one by one.
Upgrading to VisualSVN Server 3.7 in a peer-to-peer replication topology
You have a peer-to-peer replication topology if master and slave VDFS repositories are mixed on some of your VisualSVN Server instances. For example, it is a peer-to-peer topology if the server in Berlin hosts master VDFS repositories for projects mostly developed by German teams and the slave repositories for projects mostly developed by teams in other countries.
The upgrade procedure for a peer-to-peer replication topology is not applicable if you are upgrading from versions older than 3.3. This means that if you are upgrading from VisualSVN Server 3.2.x or older, the replication will be partially interrupted until all of your servers are upgraded.
As a workaround you can perform an interim upgrade to VisualSVN Server 3.4 and then upgrade to VisualSVN Server 3.7.
The upgrade procedure for the peer-to-peer replication topology is the following:
-
Add the following registry value on all your servers where VisualSVN Server
is installed (assuming that you currently have VisualSVN Server 3.4.x installed):
- for a 32-bit operating system:
[HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server] "VdfsProtocolVersion"="3.4"
- for a 64-bit operating system:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VisualSVN\VisualSVN Server] "VdfsProtocolVersion"="3.4"
TipThe specific VdfsProtocolVersion registry value depends on the particular version of VisualSVN Server you are upgrading from:- specify "VdfsProtocolVersion"="3.4" if you are upgrading from VisualSVN Server 3.3.x or VisualSVN Server 3.4.x (there were no VDFS protocol changes between versions 3.3.x and 3.4.x),
- VDFS protocol versions "3.0" and "3.2" are not supported in VisualSVN Server 3.7.
- for a 32-bit operating system:
- Upgrade all your VisualSVN Server instances to version 3.7 one by one. You can upgrade your instances of VisualSVN Server in an arbitrary order because VDFS was configured to use a previous version of the protocol.
- After that, remove the VdfsProtocolVersion registry value on all of your servers one by one and restart VisualSVN Server services using the corresponding command in VisualSVN Server Manager.
The described upgrade procedures guarantee that replication will not be interrupted even if you have a lot of VisualSVN Server instances around the world.