Upgrade from 3.0.6 to 5.23.0

I am currently trying to upgrade from 3.0.6 to 5.23.0.

I am trying to upgrade 3.0.6 to 3.5 first, but not able to do that.

I created one more instance with 3.5 and copied /var/lib/neo4j/data/database/graph.db to the 3.5 instance from 3.0.6 instance. But, neo4j is not starting with it. I also changed neo4j.conf to allow upgrades.

neo4j-admin for 3.0.6 does not have dump command, it only has import.

I am really not sure what should be right steps for the same so can anyone please help?

@vivek

3.0.6 was released September 2016, near 8 yrs ago. Neo4j 3.0.6 - Graph Database & Analytics

Even 3.1 was released December 2016.

You state

I also changed neo4j.conf to allow upgrades.

and what parameter was used to allow upgrade.
Per 3.5 Configuration settings - Operations Manual the name of the parameter is dbms.allow_format_migration. Was this set as true? If it was and still does not start can you reply back with the last 25 lines of the logs\neo4j.log and logs\debug.log

once on 3.5 you could then install Neo4j 4.4.x and then use neo4j-admin copy from 4.4 so as to read the 3.5 database and rewrite it in 4.4.x structure. And then finally upgrade to v5

@dana_canzano

Thanks a lot for your reply.

I will follow your instructions and provide the logs here.

Dear @dana_canzano ,

I followed you and error was to update APOC drivers compatible to the 3.5 version as it does not update the same automatically. After manually , adding the .jar there, I was able to update to 3.5.35.

Now, for 3.5.35 to 4.0, I am stuck again. Not sure is my database structure different or what.

I am not able to attach whole file but here is the main error I am getting. I would be grateful if you could help me here as well.

INFO [c.n.c.n.Server] backup-server: stopping and unbinding from: 127.0.0.1:6362
2024-09-02 14:50:07.183+0000 ERROR [o.n.g.f.DatabaseManagementServiceFactory] Error starting database server at /data/data/databases Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@687e4c93' was successfully initialized, but failed to start. Please see the attached cause exception "Argument `propertyExcludes` at position 1 in `fingerprint` with
type `List` cannot be converted to a Neo4j type: Default value `` could not be parsed as a LIST? OF STRING?".
org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@687e4c93' was successfully initialized, but failed to start. Please see the attached cause exception "Argument `propertyExcludes` at position 1 in `fingerprint` with
type `List` cannot be converted to a Neo4j type: Default value `` could not be parsed as a LIST? OF STRING?".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:465)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:160)
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:147)
	at com.neo4j.server.database.EnterpriseGraphFactory.newDatabaseManagementService(EnterpriseGraphFactory.java:38)
	at org.neo4j.server.database.LifecycleManagingDatabaseService.start(LifecycleManagingDatabaseService.java:88)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:444)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:157)
	at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:114)
	at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:89)
	at com.neo4j.server.enterprise.EnterpriseEntryPoint.main(EnterpriseEntryPoint.java:25)
Caused by: org.neo4j.internal.kernel.api.exceptions.ProcedureException: Argument `propertyExcludes` at position 1 in `fingerprint` with
type `List` cannot be converted to a Neo4j type: Default value `` could not be parsed as a LIST? OF STRING?
	at org.neo4j.procedure.impl.MethodSignatureCompiler.signatureFor(MethodSignatureCompiler.java:115)
	at org.neo4j.procedure.impl.ProcedureCompiler.compileFunction(ProcedureCompiler.java:304)
	at org.neo4j.procedure.impl.ProcedureCompiler.compileFunction(ProcedureCompiler.java:133)
	at org.neo4j.procedure.impl.ProcedureJarLoader.loadProcedures(ProcedureJarLoader.java:115)
	at org.neo4j.procedure.impl.ProcedureJarLoader.loadProceduresFromDir(ProcedureJarLoader.java:85)
	at org.neo4j.procedure.impl.GlobalProceduresRegistry.start(GlobalProceduresRegistry.java:342)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:444)
	... 11 more
2024-09-02 14:50:07.184+0000 INFO [o.n.g.f.DatabaseManagementServiceFactory] Shutdown started
2024-09-02 14:50:14.154+0000 WARN [o.n.k.i.JvmChecker] The dbms.memory.heap.max_size setting has not been configured. It is recommended that this setting is always explicitly configured, to ensure the system has a balanced configuration. Until then, a JVM computed heuristic of 2092957696 bytes is used instead. Run `neo4j-admin memrec` for memory configuration suggestions.
2024-09-02 14:50:14.155+0000 WARN [o.n.k.i.JvmChecker] The dbms.memory.heap.initial_size setting has not been configured. It is recommended that this setting is always explicitly configured, to ensure the system has a balanced configuration. Until then, a JVM computed heuristic of 132120576 bytes is used instead. Run `neo4j-admin memrec` for memory configuration suggestions.
2024-09-02 14:50:14.196+0000 WARN [o.n.i.p.PageCache] The dbms.memory.pagecache.size setting has not been configured. It is recommended that this setting is always explicitly configured, to ensure the system has a balanced configuration. Until then, a computed heuristic value of 3138527232 bytes will be used instead. Run `neo4j-admin memrec` for memory configuration suggestions.
2024-09-02 14:50:14.434+0000 INFO [o.n.i.d.DiagnosticsManager]

@vivek
a bit confused. What was done such that you were thus able to upgrade from 3.0.x to 3.5.x whereas previously you were unsucessfull?

Files under plugins/ are not automagically updated via an upgrade and must be manually upgraded/re-downloaded and for the respective version. If you remove/move all the files from plugins/ and remove/move the files to a different directory, for example /tmp, does Neo4j then start?

Also and given how old this is but an upgrade from 3.0.6 to 5.2.x is going tom require multiple java version hops. From memory I think Neo4j v4. requires Java 11. Neo4j v5.x requires Java 17

Follow the steps described in this link: