Upgrade not working

Trying to upgrade from 7.1.2 to 7.1.4 but the upgrade fails with the following message:

The upgrade cannot be started. No operations performed. The last error was: failed to activate version 7.1.4-516dfe4088 on host(s) celer-prod-lon-db-01: the memsqlctl binary is not linked to the target version.
You must reset memsqlctlPath in the Toolbox stateFile by either removing it or pointing it to the newly installed version.
Also check that the target version is marked as current in the tarInstallState file.

Could you please let me know what hardcoded checks are made to come to the conclusion that the memsqlctl binary is not linked to the target version when clearly it is…?

/opt/memsql-server # memsqlctl version
Version: 7.1.4
Commit: 516dfe4088bad17dcdc5224fbe7b8300643592ee

Some additional info:
memsqlctlPath is not defined in the toolbox state file
The target version is marked as current in the tarInstallState file
When running the upgrade in debug, it stops there:

✓ Installed memsql-server-7.1.4-516dfe4088 on host celer-prod-lon-db-01 (1/1)
✓ Successfully installed on 1 host
2020/07/14 10:41:15 logging.go:37 Running command #106 /opt/celertech/releases/memsql/memsql-server/memsql-server-7.1.2-9ba41ab64a/memsqlctl --json --yes --config /opt/celertech/releases/memsql/memsql-server/memsqlctl.hcl version
2020/07/14 10:41:15 logging.go:52 Command #106 took 7.422458ms
2020/07/14 10:41:15 logging.go:37 Running command #107 /opt/celertech/releases/memsql/memsql-server/memsql-server-7.1.4-516dfe4088/memsqlctl --json --yes --config /opt/celertech/releases/memsql/memsql-server/memsqlctl.hcl version
2020/07/14 10:41:15 logging.go:52 Command #107 took 6.454257ms
2020/07/14 10:41:15 logging.go:37 Running command #108 /usr/bin/readlink --canonicalize --no-newline /opt/celertech/releases/memsql/memsql-server/memsql-server-7.1.4-516dfe4088/memsqlctl
2020/07/14 10:41:15 logging.go:52 Command #108 took 926.59µs
The upgrade cannot be started. No operations performed. The last error was: failed to activate version 7.1.4-516dfe4088 on host(s) celer-prod-lon-db-01: the memsqlctl binary is not linked to the target version.
You must reset memsqlctlPath in the Toolbox stateFile by either removing it or pointing it to the newly installed version.
Also check that the target version is marked as current in the tarInstallState file.

I’m guessing this is an issue which would have been introduced in the toolbox 1.6.2:

Added a check in the memsql-deploy upgrade command that confirms that the active memsql-server package is the one for the target version

As suspected, this looks like a bug introduced in version 1.6.2 of toolbox.
I rolled it back to 1.5.3 and I managed to upgrade my cluster without any issue.

Please review.

Thanks

Hello,

thanks for reporting, this issue will be fixed in the next Toolbox release. Could you please specify which command did you run to get this error?

Hi,

I ran the following:
memsql-deploy upgrade --file-path /opt/celertech/releases/memsql/memsql-server/install/memsql-server-7.1.4-linux-x64.tar.gz --force-package-format tar

thanks! This will work in the next Toolbox release indeed, and releases prior to 1.6.2 work with it too.

1 Like

Thank you for the quick turnaround