Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

community server 5.21.0 cannot start with apoc 5.21.0 enabled #640

Closed
Bill-XU opened this issue Jul 4, 2024 · 2 comments
Closed

community server 5.21.0 cannot start with apoc 5.21.0 enabled #640

Bill-XU opened this issue Jul 4, 2024 · 2 comments

Comments

@Bill-XU
Copy link

Bill-XU commented Jul 4, 2024

Expected Behavior (Mandatory)

Neo4j community server 5.21.0 installed on Windows Server 2016.
Expecting running neo4j service normally with apoc enabled.

Actual Behavior (Mandatory)

An error occurs and server cannot start.
The error says, "Unable to set up injection for procedure Xml, the field apocConfig has type class apoc.ApocConfig which is not a known injectable component."

When running without apoc, server works normally. (both neo4j browser and bolt work normally)

How to Reproduce the Problem

Steps (Mandatory)

  1. Instart Neo4j community server 5.21.0 on Windows Server 2016
  2. Copy apoc-core-5.21.0-core.jar from labs folder to plugins folder
  3. Start server

Specifications (Mandatory)

Currently used versions

Versions

  • OS: Windows Server 2016
  • Neo4j: 5.21.0
  • Neo4j-Apoc: 5.21.0
  • JDK: openjdk-17.0.2
@Bill-XU
Copy link
Author

Bill-XU commented Jul 4, 2024

Full stacktraces are here:

2024-07-04 09:22:11.200+0000 ERROR [o.n.g.f.DatabaseManagementServiceFactory] Error starting Neo4j database server at D:\neo4j_db\data\databases
org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.procedure.impl.GlobalProceduresRegistry@2d258eff' was successfully initialized
, but failed to start. Please see the attached cause exception "Unable to set up injection for procedure Xml, the field apocConfig has type c lass apoc.ApocConfig which is not a known injectable component.".
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:364) ~[neo4j-common-5.21.0.jar:5.21.0]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:91) ~[neo4j-common-5.21.0.jar:5.21.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.startDatabaseServer(DatabaseManagementServiceFactory.java:271) [neo4j-5.21.0.
jar:5.21.0]
at org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:215) [neo4j-5.21.0.jar:5.21.0]
at org.neo4j.server.CommunityBootstrapper.createNeo(CommunityBootstrapper.java:38) [neo4j-5.21.0.jar:5.21.0]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:184) [neo4j-5.21.0.jar:5.21.0]
at org.neo4j.server.BlockingBootstrapper.start(BlockingBootstrapper.java:46) [neo4j-5.21.0.jar:5.21.0]
at org.neo4j.server.NeoBootstrapper.start(NeoBootstrapper.java:99) [neo4j-5.21.0.jar:5.21.0]
at org.neo4j.server.CommunityEntryPoint.start(CommunityEntryPoint.java:42) [neo4j-5.21.0.jar:5.21.0]
Caused by: org.neo4j.kernel.api.exceptions.ComponentInjectionException: Unable to set up injection for procedure Xml, the field apocConfig has
type class apoc.ApocConfig which is not a known injectable component.
at org.neo4j.procedure.impl.FieldInjections.createInjector(FieldInjections.java:92) ~[neo4j-procedure-5.21.0.jar:5.21.0]
at org.neo4j.procedure.impl.FieldInjections.setters(FieldInjections.java:74) ~[neo4j-procedure-5.21.0.jar:5.21.0]
at org.neo4j.procedure.impl.ProcedureCompiler.compileProcedure(ProcedureCompiler.java:288) ~[neo4j-procedure-5.21.0.jar:5.21.0]
at org.neo4j.procedure.impl.ProcedureCompiler.compileProcedure(ProcedureCompiler.java:242) ~[neo4j-procedure-5.21.0.jar:5.21.0]
at org.neo4j.procedure.impl.ProcedureJarLoader.loadProceduresFromDir(ProcedureJarLoader.java:89) ~[neo4j-procedure-5.21.0.jar:5.21.0]
at org.neo4j.procedure.impl.GlobalProceduresRegistry.unguardedLoadFromDisk(GlobalProceduresRegistry.java:240) ~[neo4j-procedure-5.21.0.jar
:5.21.0]
at org.neo4j.procedure.impl.GlobalProceduresRegistry.start(GlobalProceduresRegistry.java:209) ~[neo4j-procedure-5.21.0.jar:5.21.0]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:347) ~[neo4j-common-5.21.0.jar:5.21.0]
... 8 more

@Bill-XU
Copy link
Author

Bill-XU commented Jul 4, 2024

After reviewing system requirements, I replaced openjdk17 with oraclejdk21. And now it's working normally with apoc enabled.
So this is just a jdk issue. Sorry for disturbing, should read manuals carefully.

Reference:
https://neo4j.com/docs/operations-manual/current/installation/requirements/

For cloud environments, and server-based, on-premise environments:

Operating System Supported JDK
Windows Server 2016, 2019, 2022 OracleJDK 17, ZuluJDK 17

@Bill-XU Bill-XU closed this as completed Jul 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant