Downgrading

A direct, in-place downgrade of ArangoDB is not supported. If you have upgradedyour ArangoDB package, and then also upgraded your current data directory, it isnot supported to downgrade the package and start an older ArangoDB version on adata directory that was upgraded already.

If you are using a standalone ArangoDB server, data directory could have been upgradedautomatically during package upgrade. If you are using the Starter to start yourArangoDB, and you have not triggered yet the rolling upgrade, or upgraded itmanually, your data directory is (probably) still on the old version, so you shouldbe able to binary downgrade in this case.

Supported Downgrade Procedures

In order to downgrade, the following options are available:

  • Restore a backup you took using the tool Arangodumpbefore the upgrade.
  • Start the old package on the data directory backup you took before the upgrade.

Restore an arangodump Backup

This procedure assumes that you have taken an arangodump backup using the oldArangoDB version, before you upgraded it.

  • Stop ArangoDB (if you are using an Active Failover, or a Cluster, stop all the neededprocesses on all the machines).
  • As extra precaution, take a backup of your current data directory (at filesystem level).If you are using an Active Failover or a Cluster, you will need to backup all the datadirectories of all the processes involved, from all machines. Make sure you move yourdata directory backup to a safe place.
  • Uninstall the ArangoDB package (use appropriate purge option so your current datadirectory is deleted, if you are using a stand alone instance).
  • Install the old version of ArangoDB.
  • Start ArangoDB. If you are using the Starter, please make sure you use a new datadirectory for the Starter.
  • Restore the arangodump backup taken before upgrading.

Start the old package on the data directory backup

This procedure assumes that you have created a copy of your data directory (after havingstopped the ArangoDB process running on it) before the upgrade. If you are running anActive Failover, or a Cluster, this procedure assumes that you have stopped them beforethe upgrade, and that you have taken a copy of their data directories, from all involvedmachines.

This procedure cannot be used if you have done a rolling upgrade of your Active Failoveror Cluster setups (because in this case you do not have a copy of the data directories.

  • Stop ArangoDB (if you are using an Active Failover, or a Cluster, stop all the neededprocesses on all the machines).
  • As extra precaution, take a backup of your data directory (at filesystem level). Ifyou are using an Active Failover or a Cluster, you will need to backup all the datadirectories of all the processes involved, from all machines. Make sure you move yourbackup to a safe place.
  • Uninstall the ArangoDB package (use appropriate purge option so your current datadirectory is deleted, if you are using a stand alone instance).
  • Install the old version of ArangoDB.
  • Start ArangoDB on the data directory that you have backup-ed up (at filesystem level)before the upgrade. As an extra precaution, please first take a new copy of thisdirectory and move it to a safe place.

Other possibilities

If you have upgraded by mistake, and:

  • your data directory has been upgraded already
  • it is not possible for you to follow any of theSupported Downgrade Procedures because:
    • you do not have a dump backup taken using the old ArangoDB version
    • you do not have a copy of your data directory taken after stopping the old ArangoDBprocess and before the upgrade

…one possible option to downgrade could be to export the data from the new ArangoDB versionusing the tool arangoexport and reimport it using the tool arangoimport in the oldversion (after having installed and started it on a clean data directory). This method willrequire some manual work to recreate the structure of your collections and your indices - butit might still help you solving an otherwise challenging situation.