GDS upgrade fails

Hello,

I am a neo4j newbie.

I am trying to upgrade my Neo4j desktop GDS library so that I can use the knn filtered algorithms. I am running Neo4j desktop version 1.4.15 (database version 4.4.5) which installs GDS version 2.0.3 by default. I need the GDS library version 2.1.0 and above.

I managed to download the libs from here: https://github.com/neo4j/graph-data-science/releases.

I copied the latest gds lib into my plugins folder and removed the old one. However I cannot start the database. This is the error in the logs:

ava.lang.RuntimeException: Error starting Neo4j database server at /Users/reenaclifton/Library/Application Support/Neo4j Desktop/Application/relate-data/dbmss/dbms-70518021-2834-47d5-8e35-645266dfc241/data/databases
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:228) ~[neo4j-4.4.5.jar:4.4.5]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:181) ~[neo4j-4.4.5.jar:4.4.5]
at com.neo4j.server.enterprise.EnterpriseManagementServiceFactory.createManagementService(EnterpriseManagementServiceFactory.java:38) ~[neo4j-enterprise-4.4.5.jar:4.4.5]
at com.neo4j.server.enterprise.EnterpriseBootstrapper.createNeo(EnterpriseBootstrapper.java:20) ~[neo4j-enterprise-4.4.5.jar:4.4.5]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:142) [neo4j-4.4.5.jar:4.4.5]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:95) [neo4j-4.4.5.jar:4.4.5]
at com.neo4j.server.enterprise.EnterpriseEntryPoint.main(EnterpriseEntryPoint.java:24) [neo4j-enterprise-4.4.5.jar:4.4.5]
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@5353dd09' was successfully initialized, but failed to start. Please see the attached cause exception "class org.neo4j.gds.ml.pipeline.nodePipeline.NodeClassificationPipeline has interface org.neo4j.gds.ml.pipeline.Pipeline as super class".
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:463) ~[neo4j-common-4.4.5.jar:4.4.5]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.4.5.jar:4.4.5]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:219) ~[neo4j-4.4.5.jar:4.4.5]
... 6 more
Caused by: java.lang.IncompatibleClassChangeError: class org.neo4j.gds.ml.pipeline.nodePipeline.NodeClassificationPipeline has interface org.neo4j.gds.ml.pipeline.Pipeline as super class
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) ~[?:?]
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
at java.lang.Class.privateGetDeclaredMethods(Class.java:3166) ~[?:?]
at java.lang.Class.getDeclaredMethods(Class.java:2309) ~[?:?]
at org.neo4j.procedure.impl.ProcedureJarLoader$1.fetchNextOrNull(ProcedureJarLoader.java:173) ~[neo4j-procedure-4.4.5.jar:4.4.5]
at org.neo4j.procedure.impl.ProcedureJarLoader$1.fetchNextOrNull(ProcedureJarLoader.java:146) ~[neo4j-procedure-4.4.5.jar:4.4.5]
at org.neo4j.collection.AbstractPrefetchingRawIterator.peek(AbstractPrefetchingRawIterator.java:50) ~[neo4j-collections-4.4.5.jar:4.4.5]
at org.neo4j.collection.AbstractPrefetchingRawIterator.hasNext(AbstractPrefetchingRawIterator.java:36) ~[neo4j-collections-4.4.5.jar:4.4.5]
at org.neo4j.procedure.impl.ProcedureJarLoader.loadProcedures(ProcedureJarLoader.java:119) ~[neo4j-procedure-4.4.5.jar:4.4.5]
at org.neo4j.procedure.impl.ProcedureJarLoader.loadProceduresFromDir(ProcedureJarLoader.java:96) ~[neo4j-procedure-4.4.5.jar:4.4.5]
at org.neo4j.procedure.impl.GlobalProceduresRegistry.start(GlobalProceduresRegistry.java:371) ~[neo4j-procedure-4.4.5.jar:4.4.5]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:442) ~[neo4j-common-4.4.5.jar:4.4.5]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:110) ~[neo4j-common-4.4.5.jar:4.4.5]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:219) ~[neo4j-4.4.5.jar:4.4.5]
... 6 more

I would be grateful if anyone can assist with upgrading to the latest version of gds.

Many thanks,

thanks - worked :slightly_smiling_face:
(migrated from khoros post Re: GDS upgrade fails - Neo4j - 58330)

thank you! I did not realise I can upgrade the db version :slightly_smiling_face:

Hi @rc

I have created two Neo4j databases.
The first is GDS 2.0.3 and Neo4j 4.4.5.
The second is GDS 2.1.6 and Neo4j 4.4.8.

These two databases work.

So I moved graph-data-science-2.1.6.jar to neo4j 4.4.5 /plugin and deleted graph-data-science-2.0.3.jar.
After restarting

Normal operation

Hi @rc

The downloadable version of the neo4j-graph-data-science-2.1.6.jar was also Good.

1. neo4j-graph-data-science-2.1.6.jar (Download version name)
2. graph-data-science-2.1.6.jar (Neo4j Desktop install version name)

Also, the db upgrade is available.