Long upgrade path 2.1.x -> 3.5

Recently inherited a 2.1.4 install of neo and looking to upgrade to latest greatest. It appears that I need to move it stepwise through the 2.x versions before I can get to 3.x though.

Have taken a copy of the existing "graph.db" folder and am trying to bring it up in 2.3.1. The following error code appears when I start (with "allow_store_upgrade=true"):

<path>/neostore.nodestore.db' has a store version number that we cannot upgrade from. Expected 'v0.A.3' but file is version ''.

The backup was taken from the current working system by:

  1. shut down
  2. tar -cfz graph.db.tgz <graph.db path>

My questions:

  1. Is it not possible to go from 2.1.x to 2.3.x? Do I need to find 2.2.x first?
  2. Is there a different / better way to backup / restore the data?
  3. Is this the appropriate upgrade path (2.1 -> 2.3 -> 3.1?->3.5?)

How big is your graph?

3.x introduced many new changes and it may be easier & faster to just start on a fresh install and migrate your data from the 2.x instance to a 3.x instance.

We generally enable compatibility to upgrade from the latest in any given version to the next. However, you have a really really old release you inherited!

Question 1
Cannot go directly from 2.1.4 to 2.3.x-- you'll need to go through the latest in the 2.1 series. No need to go to 2.2.

Question 3:
Looks like you can go from:
2.1.4 -> 2.1.latest (looks like 2.1.8)
2.1.8 -> 2.3.12 (doc: https://neo4j.com/docs/2.3.12/deployment-upgrading.html)
2.3.12 -> 3.3.9 (doc: https://neo4j.com/docs/operations-manual/3.3/upgrade/planning/)
3.3.9 -> 3.5.5 (doc: https://neo4j.com/docs/operations-manual/current/upgrade/planning/)

Question 2: Backup and restore is available on enterprise (and backups are a good way to do upgrades there), but not on community. The way you mentioned is the best way to do it on community.


So go through the 2.1.x series first? And then follow the route you mapped in #3 ?

I'll give it a shot. TY.

Had some reasonable success going


Post upgrade I ran into this message though:

Failed to open index:838. Requesting re-population. Index is not fully initialized since it's missing the meta page | GBPTree[file:/usr/local/src/neodata/databases/graph


Is this a byproduct of failed upgrade?

NOTE: to get from 2.1.8 -> 3.5.5 I used the neo4j-admin import --mode=database command.

It's quite likely the product of not going through the supported upgrade path (to handle index format changes that have happened). Following the documentation, the path I mentioned is the one officially supported.

Have you tried just removing the index and recreating it?


Hi Getting the same error, on docker image of Neo4j 3.4.10. Any solution to fix this ?