Neo4j Upgrade to version 5.9.0 form version 4.4.22

Using neo4j for a while now for our company. We are currently in 4.4.22 version of it. We wanted to upgrade to latest that is 5.9.0. Our server (which are in cluster) are in production so we don't want downtime for the same. I have gone through the documentation for migrating from 4.4 but it seems like they doesn't have option to do that. there is only solution I can see there which is dumping neo4j database from old and restoring to new but already said it will have downtime.

Ealrier, when we have done upgrade from 3.x to 4.4. we have done rolling upgrade, where we have cluster of 3 in version 3.x and we have created new server of 4.x. we have attached it with 3.x cluster and it was working. the database got replicated in new server without any downtime.

Anyone from the support can help me with this or any community member ??

Hi @jaybamaniya,

In such cases, deploy a second instance of 4.4.22 to replicate the data for the dump. Perform the dump on the second instance and restore/migrate it to version 5.9.0. Lastly, switch the endpoints to point at the new instance with version 5.9.0 and you are done.

Like this, you will have the least downtime possible. I hope it helps!

Thanks @busymo16 for your help.
We already know about that but we are in production and we don't want that.
Does it mean we can't attach the 5.9 with 4.4.22 latest..... right ?

Also does that mean, we have to face downtime if we wanted to upgrade right ?

@jaybamaniya To my knowledge Neo4j 4 cannot be attached to Neo4j 5 because they are using different structure for the indexes. So, in that case, to have minimal downtime, the approach that I suggested would be the best.

1 Like

While referring to the dump process from 4.4 to 5.9. I got accounter with the Index preparation in version 4.4 where it should have Range index or maybe text one. So the problem is, I am not able to get their refrence or example which they have given. Right now I am trying with the movie database in one of my trial server where I have created the same.
Can anyone show me how to make the Range index from BTREE ??
let me share you the example:
I have this index in 4.4:

id	name	           state    populationPercent	uniqueness	type	entityType	labelsOrTypes	properties	indexProvider
3	"index_a5e3e466"   "ONLINE"	100.0	        "NONUNIQUE"	"BTREE"	"NODE"	     ["TTL"]	     ["ttl"]	"native-btree-1.0"

the example which has been shown in the documentation is :

CREATE RANGE INDEX range_index_name FOR (n:Label) ON (n.prop1) 

So, can you tell me what to change in the movie index so that I can fullfill the requirement ?
or Can you create range index in movie db which I have shown above ?

@jennifer_reif

Try the steps described in this link:

1 Like

Once the database is created in 5.9 then you need develop the Cypher scripts to create constraints and indexes using the new syntax.

2 Likes