NCache 4.6 - Online Documentation

How to Live Upgrade NCache Versions?

NCache has now provided the feature of Live Upgrading from previous versions of NCache (all versions prior to 4.6) to NCache 4.6 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 an NCache 4.6 cache using a Bridge in between while the caches continue to run.
The previous version cache is considered as the source cache, and NCache 4.6 is considered as the target cache.
Since the data replication is asynchronous, all clients connected to the source cache(s) get an impression that the operations are being performed on the source cache while a complete copy is being made to the target cache(s) 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 the source cache on NCache 4.6. Please refer to the Creating Caches section for step by step illustration of the process.
  •      To this bridge, you need to add running source caches. Since the previous versions did not support adding running caches to the bridge, you need to apply a patch of the previous version to the cache.
Keep in mind that this source cache has to be a two-node cache. This is because the patch will be applied to one of the nodes which will then replicate the data which is stored in the other node.
  • Right click on one of nodes of the cache and click Stop.
  • Apply the patch which will allow the cache to be added (while running) to the bridge.
  • After applying the patch, start the node and add it to the bridge.
You can add only one running cache at a time.
  •      On the bridge node, provide IP of the target cache in client.ncconf:
    <cache ...>
      <server name=""/>
Make sure the source and target caches are in running state before proceeding with this step.
  •      Right click on the bridge name and select Start option in the right click context menu. State transfer will begin automatically.
  •      When the state transfer counter is no longer published it marks the end of the whole process and any connected clients should be stopped.
  •      Change the IP of clients in client.ncconf to the IP of the target cache. By doing so, you are effectively rerouting your clients to the target cache (NCache 4.6).
  •      Restart the clients. All future operations by the clients will now be performed on NCache 4.6.
  •      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.
Make sure that when the bridge has no data left in the queue or when the operations have been fully replicated, only then you can proceed to remove the cache and bridge.
  •      Once the bridge has no remaining operations left, it is safe to dispose of the source cache.
  •      Stop the bridge.
  •      Remove the source cache from the bridge.
  • You have seamlessly live upgraded to NCache version 4.6 without stopping the cache.
See Also