For changing the Global Secondary Index Storage Mode from Standard to Memory Optimized,we need to remove each of the nodes that has the index service enabled and rebalance to remove each nodes from the cluster. But as we remove all the index service nodes, all the indexes in the system are dropped and the N1QL queries will fail. After the index service nodes are removed and we change the Index Storage Mode to the Memory Optimized Mode,shall we have to again add the index server node? and recreate the indexes again? What all changes will happen in the existing system?
@esita.banerjee, Yes, as it is a change in storage format, all indexes will need to be recreated. The system enforces this by allowing to change storage mode only after all index service nodes have been rebalanced out of the cluster.
To avoid downtime, you can bring up a new cluster with MOI storage mode and XDCR data from existing cluster to the new one. Create indexes on the new cluster. And once everything is ready, switch your traffic over to the new cluster.
What are the steps to XDCR data from existing cluster to new one? And what do you mean by switching over traffic over to the new cluster?
You can look here for info on XCDR https://developer.couchbase.com/documentation/server/5.1/xdcr/xdcr-intro.html
In essence the recommendation was to set up a second cluster, with MOI indexes. Then you use XCDR to keep both clusters in sync, and at some point you make your applications point over to the new cluster. If you’re using the Java Client I think that is supported as a feature now.
If you can’t do that, I found that MOI indexes tend to build many times faster than GSI indexes so at least downtime is shorter.
@clinton1ql If we directly want to change the existing index service from GSI to MOI,then shall we delete the index service from the server nodes and again recreate the indexes using MOI optimisation?
Is their any trouble while doing the same? And when we will be removing the index node then the query service will be disabled,so will this cause any issue in the existing system?
While you don’t have any indexes your N1QL queries will fail.
Would also suggest that after you’ve added the new index services back in, create all your indexes with DEFER option enabled. Then once you are done with the index definitions do a rebuild. This will cause all the indexes to be built at once, instead of one by one as you create them.
@clinton1ql Thank you…will let u know if still facing any issues.