Live Upgrade NCache Version
This feature is only available in NCache Enterprise Edition.
NCache allows Live Upgrading of NCache with negligible data loss. Live Upgrade significantly reduces the delay in your services caused by an upgrade manually. Using Live Upgrade, you can replicate the data of your currently running cache to latest NCache cache using a Bridge in between while the caches continue to run.
The previous version cache is considered as the source cache, and latest NCache cache is considered as the target cache.
Since the data replication is asynchronous, all clients connected to the source cache get an impression that the operations are being performed on the source cache while a complete copy is being made to the target cache seamlessly. Meanwhile, the source cache configuration remains fully functional and unaffected by the upgrade.
In order to upgrade your cache:
Create a target cache with the same name and configuration as of the source cache. Please refer to the Creating Caches section for step by step illustration of the process.
From the NCache Web Manager, click on the Bridges icon from the top left. It opens the bridges page. Click on the New button to create a new bridge. The rest of the process for creating bridge is the same as explained in Creating Clustered Bridge for WAN Replication.
To this bridge, you need to add running source cache as an active cache. Note that only one cache should be added.
On the bridge node, manually add target cache in bridge.ncconf under the
<bridge-config>...<cache>tags as shown:
<configuration> <bridge-config … > <cache cache-id="demoCache.WestCoast" status="active" servers-list="188.8.131.52" bulk-operation-size="500" enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/> <cache cache-id="demoCache.EastCoast" status="active" servers-list="184.108.40.206" bulk-operation-size="500" enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/> </bridge-config> </configuration>
Restart bridge service after modifying bridge.ncconf.
Start the bridge using the Start-Bridge PowerShell cmdlet.
Make sure the source and target caches are in running state before proceeding with this step.
- Initiate state transfer using the Start-BridgeStateTransfer PowerShell tool by providing source cache and target cache as parameters.
Start-BridgeStateTransfer -Server 220.127.116.11 -Name demoBridge -SourceCache demoCache.WestCoast -TargetCache demoCache.EastCoast
You can monitor the Performance Counters for state transfer.
When the state transfer counter is no longer published, it marks the end of the whole process and any connected clients should be stopped otherwise replication is continued.
In client.ncconf of each client node, change the IP address of source cache server(s) to the IP addresses of the target cache server(s).
Start the clients. By doing so, you are effectively rerouting your clients to the target cache. All future operations by the clients will now be performed on the latest NCache version.
There might still be negligible pending activity of the source cache taking place which was requested during the state transfer, like fetch operations. It is advisable to let these remaining operations replicate to the target cache completely so that data loss is avoided.
- Check the counters for the bridge. Once the bridge has no data left in the queue or when the operations have been fully replicated, it is safe to:
You have seamlessly live upgraded to latest NCache version without stopping the cache.