cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Neo4J 3.2.7 - Can't Run APOC Procedures Owing to MacOS Catalina

Running Neo4J Community 3.2.7 on Mac OS Catalina
When I try to execute an APOC procedure I get message:

Neo.ClientError.Procedure.ProcedureRegistrationFailed
apoc.meta.subGraph is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.

Checked Ne4J.conf and it correctly has the line:

#security
dbms.security.procedures.unrestricted=apoc.*, dbms.*

It used to work but now it doesn't so I moved the Neo$J installation onto another Mac running Mojave - same data, same configuration files and APOC works. The conclusion seems to be that it's not a Neo4J or APOC-caused issue but the change in OS to Catalina that is preventing this.

Has anyone got this to work by changing a file setting or command line? I'd like to avoid upgrading Neo4J and any risk to the model / data in the short term.

7 REPLIES 7

A couple of things:

  • When moving OSs, the most likely problem is the JVM that you're using, not Neo4j or the operating system version.
  • Neo4j 3.2.7 (as of this writing) is many versions out of date. Please consider upgrading to 4.0, or at least 3.5, as version 3.2.7 has you missing out on a lot of really great new stuff.
  • The security message you're seeing is strictly related to Neo4j's ability to use APOC. Looks like you've got the right configuration in place (although I'd remove the space after apoc.*). If Neo4j isn't starting, consider opening a new topic with the exact error message you're seeing so people can help in a more targeted way.

Neo4J is working fine - it's just any APOC procedure that isn't.

The error message is as stated -

Neo.ClientError.Procedure.ProcedureRegistrationFailed
apoc.meta.subGraph is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.

Maybe it's the space you have in apoc.*, dbms.* - not sure if that is the reason, but worth a try.

Thanks.
The neo4j.conf configuration is exactly the same - the only thing that has changed is the operating system.
I've just confirmed that removal of the space makes no difference.

Do you have anything in dbms.security.procedures.whitelist, I guess this overrides the unrestricted.

It's the same (identical) Neo4j.conf file - including whitelist. The only difference is the OS - Catalina (problem) vs Mojave (OK)