Skip to content

How to debug gds with neo4j CE #348

Open
@fantaga

Description

Dev Env:

GDS version: 2.12.1
Neo4j version: 5.26.0-SNAPSHOT
Operating system: Windows 11
IDE: IDEA 2022
JDK:OpenJDK 17.11

Desrription:

  1. I try to debug graph-data-science-2.12.1.jar on neo4j5 in embeded way.
  2. I put the jar file into ${NEO4J_HOME}/plugins and modified ${NEO4J_HOME}/conf/neo4j.conf .dbms.security.procedures.unrestricted=gds.* dbms.security.procedures.allowlist=gds.*
    added.
  3. then I run debug with org.neo4j.server.CommunityEntryPoint#main() method, App parametrers are follow:
    --home-dir=D:\Dev\Java\Bigdata\neo4j-community-5.16.0-SNAPSHOT --console-mode=true

Result

Console output prints like follows:

2025-02-24 08:35:25.464+0000 INFO  This instance is ServerId{23e42b81} (23e42b81-faf0-4b3c-916b-7e9e2b19d6fa)
2025-02-24 08:35:28.069+0000 INFO  ======== Neo4j dev ========
2025-02-24 08:36:41.722+0000 ERROR Failed to start Neo4j on localhost:7474.
java.lang.RuntimeException: Error starting Neo4j database server at D:\Dev\Java\Bigdata\neo4j-community-5.16.0-SNAPSHOT\data\databases
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:288) ~[classes/:?]
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:223) ~[classes/:?]
	at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:38) ~[classes/:?]
	at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:185) [classes/:?]
	at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:100) [classes/:?]
	at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:30) [classes/:?]
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@acdcf71' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to set up injection for procedure `K1ColoringWriteProc`, the field `facade` has type `interface org.neo4j.gds.procedures.GraphDataScienceProcedures` which is not a known injectable component.".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:364) ~[classes/:?]
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:91) ~[classes/:?]
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:279) ~[classes/:?]
	... 5 more
Caused by: org.neo4j.kernel.api.exceptions.ComponentInjectionException: Unable to set up injection for procedure `K1ColoringWriteProc`, the field `facade` has type `interface org.neo4j.gds.procedures.GraphDataScienceProcedures` which is not a known injectable component.
	at org.neo4j.kernel.api.exceptions.ComponentInjectionException.unsupportedInjectableComponentType(ComponentInjectionException.java:43) ~[classes/:?]
	at org.neo4j.procedure.impl.FieldInjections.createInjector(FieldInjections.java:87) ~[classes/:?]
	at org.neo4j.procedure.impl.FieldInjections.setters(FieldInjections.java:67) ~[classes/:?]
	at org.neo4j.procedure.impl.ProcedureCompiler.compileProcedure(ProcedureCompiler.java:279) ~[classes/:?]
	at org.neo4j.procedure.impl.ProcedureCompiler.compileProcedure(ProcedureCompiler.java:232) ~[classes/:?]
	at org.neo4j.procedure.impl.ProcedureJarLoader.loadProceduresFromDir(ProcedureJarLoader.java:89) ~[classes/:?]
	at org.neo4j.procedure.impl.GlobalProceduresRegistry.unguardedLoadFromDisk(GlobalProceduresRegistry.java:239) ~[classes/:?]
	at org.neo4j.procedure.impl.GlobalProceduresRegistry.start(GlobalProceduresRegistry.java:208) ~[classes/:?]
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:347) ~[classes/:?]
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:91) ~[classes/:?]
	at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:279) ~[classes/:?]
	... 5 more
2025-02-24 08:36:41.723+0000 INFO  Neo4j Server shutdown initiated by request
2025-02-24 08:36:41.723+0000 INFO  Stopped.

It seems that something goes wrong with procedure.GraphDataScienceProcedures facade did not be registried at org.neo4j.procedure.impl.FieldInjections#components.

sincerly!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BUGSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions