
---------------------------------------------------------------------

Upgrading

---------------------------------------------------------------------
---------------------------------------------------------------------

Table of Contents

1. Automatic Upgrade
2. Explicit Upgrade
3. Upgrade 1.4 → 1.5

A database can be upgraded from a minor version to the next, e.g. 1.1
→ 1.2, and 1.2 → 1.3, but you can not jump directly from 1.1 → 1.3.
The upgrade process is a one way step; databases cannot be
downgraded.

For most upgrades, only small changes are required to the database
store, and these changes proceed automatically when you start up the
database using the newer version of Neo4J.

However, some upgrades require more significant changes to the
database store. In these cases, Neo4j will refuse to start without
explicit configuration to allow the upgrade.

The table below lists recent Neo4J versions, and the type of upgrade
required.

Table 1. Upgrade process for Neo4J version

+---------------------------------+
|From       |To       |Upgrade    |
|Version    |Version  |Type       |
|-----------+---------+-----------|
|1.3        |1.4      |Automatic  |
|-----------+---------+-----------|
|1.4        |1.5      |Explicit   |
+---------------------------------+


---------------------------------------------------------------------

1. Automatic Upgrade

---------------------------------------------------------------------

To perform a normal upgrade (for minor changes to the database
store):

 1. download the newer version of Neo4j
 2. cleanly shutdown the database to upgrade, if it is running
 3. startup the database with the newer version of Neo4j


---------------------------------------------------------------------

2. Explicit Upgrade

---------------------------------------------------------------------

To perform a special upgrade (for significant changes to the database
store):

 1. make sure the database you are upgrading has been cleanly shut
    down
 2. set the Neo4j configuration parameter "allow_store_upgrade=true"
    in your neo4j.properties or embedded configuration
 3. start the database
 4. the upgrade will happen during startup and the process is done
    when the database has been successfully started
 5. "allow_store_upgrade=true" configuration parameter should be
    removed, set to "false" or commented out


---------------------------------------------------------------------

3. Upgrade 1.4 → 1.5

---------------------------------------------------------------------

This upgrade includes a significant change to the layout of property
store files, which reduces their size on disk, and improves IO
performance. To achieve this layout change, the upgrade process takes
some time to process the whole of the existing database. You should
budget for several minutes per gigabyte of data as part of your
upgrade planning.

In an HA environment these steps need to be performed:

 1. shut down all the databases in the cluster
 2. shut down the zoo keeper cluster and clear the version-2
    directories on all the zoo keeper instances
 3. start the zoo keeper cluster again
 4. remove the databases except the master and start the master
    database with 1.5, where migration will happen
 5. start up the other databases so that they get a copy from the
    master

Warning

The upgrade process for this upgrade temporarily requires additional
disk space, for the period while the upgrade is in progress. Before
starting the upgrade to Neo4J 1.5, you should ensure that the machine
performing the upgrade has free space equal to the current size of of
the database on disk. You can find the current space occupied by the
database by inspecting the store file directory (data/graph.db is the
default location in Neo4J server). Once the upgrade is complete, this
additional space is no longer required.

