About MemSQL Upgrade

Hi all,
I have a question with MemSQL ONLINE Upgrade.


Step 3 of Scenario 2 in this link is “Power up DB2 after its upgrade is done.”
My question is, Is it possible to run two DBs which are different versions at the same time?
And, If I run minor upgrade(ex. v.7.0.1 > v.7.1.1) or bug patch(ex. v.7.1.1 > v.7.1.2), do they(DBs) work at the same time?

Hi,

It almost always works yes. You need to have the secondary at a higher or equal version to the primary (the log format is backwards compatible, so newer versions of memsql can still read older logs). If the primary is a higher version, the replication link will break.

There are some rare upgrades when having the secondary at a particular higher version then a primary is not supported. We always call those out in the release notes. It will never happens for a patch release (7.1.1 to 7.1.2 for example), but it may happen on a major version boundary (for example 6.X to 7.0 replication is not supported - see https://docs.memsql.com/v7.1/guides/cluster-management/upgrade-or-uninstall-memsql/upgrading-to-71/upgrading-to-71/). This is because now and then new features require substantial changes to the replication protocol (7.0 introduced much faster synchronous replication).

-Adam

Thank you for your reply, Adam! Let me ask you one more.
Are there any criteria or calculation methods to predict how long DB services will be down in a major upgrade(ex. v.6.x > v.7.x)?

As of memsql 7.0 we bundle an online upgrade tool with the engine, so you can always upgrade with reasonably minimal interruption (the cluster will have less capacity during the upgrade). You need to pass the --online flag to memsql-deploy upgrade to use it (https://docs.memsql.com/v7.1/reference/memsql-tools-reference/memsql-deploy-reference/upgrade/)

If your doing an offline upgrade, then the time to upgrade is usually not that much longer then the time to do a clean cluster restart. The upgrade to MemSQL 7.0 is different then typical as it introduces an entirely new replication protocol so the upgrade needs to modify some file metadata on disk. So the upgrade to 7.0 depends greatly on the speed of your disk and the size of any columnstore tables you have. For columnstore tables with 10s to 100s of TB of data, it could take greater then an hour to upgrade depending on the disk (100K IOPS is going to be a lot faster then if your disk is something like EBS with many 10K IOPS).

-Adam

Thanks, Adam. You’ve solved my problem. :slight_smile: