MemSQL upgrade from 5.8 to 6.7

Hi,
We are upgrading to 5.8 to 6.7 version, unfortunately we dont have an option for upgrading online for this version. Prior to this we use to create a prod like cluster with same version and replicate the data until it is in sync with prod and then upgrade online at a later point when we are good with upgrade.

We wanted to run the cluster with high availability, but due to this major upgrade we are facing issue with the availability. Can you please let us know if there is better options to do the upgrade with the minimum downtime if online upgrade is not possible.

Hello,

Thank you for your question! Online upgrade from MemSQL 5.X to MemSQL 6.X is not supported. This is because we made many large improvements to the clustering code between versions 5 and 6 that pose risks to an online upgrade procedure. Offline upgrade is the only supported & recommended option between these versions. Please see the following for more information on upgrading: SingleStoreDB Cloud · SingleStore Documentation.

Note that you can use the online process to upgrade between minor versions of MemSQL 6.X, please see the following link for more details on online upgrade: SingleStoreDB Cloud · SingleStore Documentation.

1 Like

Will this be always offline between all the major releases going further(6.x to 7.x or 7.x to 8.x) or only for 5.8 to 6.x versions.

Can we take a 5.x backup, and restore it into a 6.x cluster? To ask another way, rather than upgrading our cluster, can we move the data into an already existing cluster running a higher version?

  1. It is on the roadmap and we will most likely support online upgrade to future major versions (e.g., 6.x to 7.x…etc). We will know more about this when 7.0 is released.

  2. You can backup a 5.x cluster and safely restore it into a 6.x cluster.

Thanks for the reply @rpourzan

One more question. Since we cannot replicate across 5 and 6, do you guys have any experience putting a SQL splitter in front of MemSQL? Something like Home · sysown/proxysql Wiki · GitHub ? The thought there is to have a splitter/proxy send writes to a 5 and 6 cluster, so we can keep both in sync, and then after a few weeks, when we are comfortable that the upgrade was successful, then pull the splitter and drop the old cluster.

Yes, several customers have successfully used proxies like that in front of MemSQL, and that sounds like a good approach.