Forum: Managing VoltDB

Post: Version upgrade is failing

Version upgrade is failing
ljolin
Jun 17, 2015
Hi,

according to the documentation (http://docs.voltdb.com/AdminGuide/MaintainChap.php#MaintainBackup), the snapshots files contains both data and schema structure, and upgrading volt version could only be a simple save / upgrade / restore command.

Currently, when each time I try to follow the procedure descrie in http://docs.voltdb.com/AdminGuide/MaintainUpgradeVoltdb.php, I have an error of this kind:


Build: 5.2.2 voltdb-5.2.2-0-gff03293-local Enterprise Edition
Connecting to VoltDB cluster as the leader...
Host id of this node is: 0
FATAL: Unable to load version 5.0 catalog "/data/snapshots/upgrade_15062015.jar" from snapshot into a version 5.2.2 server.
VoltDB has encountered an unrecoverable error and is exiting.
The log may contain additional information.


I have to run a fresh instance with the new version, the recreate my schema from scratch using migration scripts, remove the data created by the migration script and the migration tool (liquibase) then running the restore command.

Are you experiencing the same issue, and is there any proper to upgrade
bballard
Jun 17, 2015
Hi ljolin,

What is the command you are using to restart the database after upgrading? Are you using "voltdb create ... <catalog file>.jar", or using dynamic DDL loaded after the database initializes?

Thanks,
Ben
ljolin
Jun 18, 2015
Hi Ben,

I am using voltdb create, without arguments, then voltadmin restore. As the snapshot files contains the schema ddl in the jar file, I assume (but I might be wrong) the restore operation plays it, then restore the data.
bballard
Jun 18, 2015
Hi ljolin,

You need to manually load the ddl after starting the database using "voltdb create" with no arguments. That is step #6 in this process: http://docs.voltdb.com/AdminGuide/MaintainUpgradeVoltdb.php

While the snapshot does contain a catalog jar file, which includes the ddl, the snapshot restore process does not assume you want to use it. This is because the same process is used when reloading data into a modified schema.

Best regards,
Ben