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.

Cheers,
-Ryan

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

2.1.4->2.1.8->3.5.5

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

.db/schema/index/lucene-1.0/838/spatial-1.0/1-4326]

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?

Cheers,
-Ryan