Closed saeedseyfi closed 10 months ago
@saeedseyfi I haven't been able to reproduce this locally, the container behaves as expected. It might be that I haven't set up my plugins folder hte same as yours.
What do you get when you run ls -l
on ./neo4j/plugins
on the host computer ? Who owns the plugins folder?
Is there already an apoc.jar file inside the plugins folder before you start docker?
I could reproduce it with Docker version 20.10.22, build 3a2c30b on macOS Monterey 12.6.2.
ls -l
results to -rwx------@
initially. I've tried to set the permission manually via chmod 777
and ls -l
now results in -rwxrwxrwx@
. Then, I tried running docker-compose up
again, and ls -l
reverted back to -rwx------@
.
My teammate whose on Windows Subsystem for Linux (WSL) doesn't experience this issue so my guess is that the problem is specific to macOS.
I have exactly the same issue, and am running on a Apple M2.
I have tried to download the plugin apoc, several different versions, to check if it would work with some version of neo4j between 4.4 and latest. It always replaces the file in existence, replacing the permissions along with it.
neo4j:
image: neo4j:latest
environment:
- NEO4J_AUTH=none
- NEO4J_PLUGINS=["n10s","apoc"]
- NEO4J_server_unmanaged__extension__classes='semantics.extension'='/rdf'
- NEO4J_dbms_security_procedures_unrestricted='semantics.*,apoc.*'
- NEO4J_dbms_security_procedures_allowlist='algo.*,apoc.*,semantics.*'
ports:
- "7474:7474"
- "7687:7687"
volumes:
- "./.neo4j-data:/data:rw"
- "./sia-neo4j/plugins:/plugins:rw"
- "./sia-neo4j-logs:/logs:rw"
...
2023-05-17 13:08:11.770+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.stats.degrees 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.
2023-05-17 13:08:11.779+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.nodes 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.
2023-05-17 13:08:11.780+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.relationships 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.
2023-05-17 13:08:11.781+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.assert 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.
2023-05-17 13:08:11.781+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.node.indexExists 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.
2023-05-17 13:08:11.782+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.relationship.indexExists 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.
2023-05-17 13:08:11.782+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.node.constraintExists 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.
2023-05-17 13:08:11.783+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.relationship.constraintExists 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.
2023-05-17 13:08:11.833+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.warmup.run 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.
2023-05-17 13:08:11.836+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.data 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.
2023-05-17 13:08:11.837+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.graph 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.
2023-05-17 13:08:11.837+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.stats 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.
2023-05-17 13:08:11.838+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.schema 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.
2023-05-17 13:08:11.838+0000 WARN [o.n.k.a.p.GlobalProcedures] 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.
2023-05-17 13:08:11.839+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.data.of 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.
2023-05-17 13:08:11.840+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.nodeTypeProperties 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.
2023-05-17 13:08:11.840+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.relTypeProperties 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.
2023-05-17 13:08:11.842+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.graph.of 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.
2023-05-17 13:08:11.843+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.graphSample 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.
2023-05-17 13:08:11.844+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.nodes.count 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.
2023-05-17 13:08:11.844+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.cypher.type 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.
2023-05-17 13:08:11.844+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.cypher.isType 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.
2023-05-17 13:08:11.845+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.meta.cypher.types 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.
2023-05-17 13:08:11.925+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.properties.distinct 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.
2023-05-17 13:08:11.926+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.schema.properties.distinctCount 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.
2023-05-17 13:08:11.964+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.get 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.
2023-05-17 13:08:11.964+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.delete 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.
2023-05-17 13:08:11.965+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.link 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.
2023-05-17 13:08:11.966+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.rels 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.
2023-05-17 13:08:11.966+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.cycles 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.
2023-05-17 13:08:11.967+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.collapse 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.
2023-05-17 13:08:11.967+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.rel.type 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.
2023-05-17 13:08:11.968+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.id 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.
2023-05-17 13:08:11.968+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.any.properties 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.
2023-05-17 13:08:11.968+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.labels 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.
2023-05-17 13:08:11.969+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.any.property 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.
2023-05-17 13:08:11.969+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.rel.startNode 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.
2023-05-17 13:08:11.969+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.rel.endNode 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.
2023-05-17 13:08:11.970+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.any.isDeleted 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.
2023-05-17 13:08:11.970+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.relationship.exists 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.
2023-05-17 13:08:11.970+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.rel.id 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.
2023-05-17 13:08:11.971+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.degree 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.
2023-05-17 13:08:11.971+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.relationship.types 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.
2023-05-17 13:08:11.972+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.isDense 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.
2023-05-17 13:08:11.972+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.relationships.exist 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.
2023-05-17 13:08:11.973+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.degree.in 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.
2023-05-17 13:08:11.973+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.node.degree.out 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.
2023-05-17 13:08:11.974+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.relationship.types 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.
2023-05-17 13:08:11.974+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.relationships.exist 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.
2023-05-17 13:08:11.974+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.nodes.connected 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.
2023-05-17 13:08:11.997+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.start 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.
2023-05-17 13:08:11.998+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.stop 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.
2023-05-17 13:08:11.998+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.drop 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.
2023-05-17 13:08:11.999+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.install 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.
2023-05-17 13:08:12.000+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.dropAll 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.
2023-05-17 13:08:12.000+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.show 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.
2023-05-17 13:08:12.006+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.add 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.
2023-05-17 13:08:12.006+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.remove 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.
2023-05-17 13:08:12.007+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.list 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.
2023-05-17 13:08:12.007+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.resume 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.
2023-05-17 13:08:12.007+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.removeAll 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.
2023-05-17 13:08:12.008+0000 WARN [o.n.k.a.p.GlobalProcedures] apoc.trigger.pause 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.
2023-05-17 13:08:12.027+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.s3.S3Aws` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials
2023-05-17 13:08:12.028+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.s3.S3Aws$1` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/amazonaws/services/s3/model/S3ObjectInputStream
2023-05-17 13:08:12.029+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.s3.S3OutputStream$S3UploadManager` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/amazonaws/services/s3/AmazonS3
2023-05-17 13:08:12.029+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.s3.S3URLConnection` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/amazonaws/ClientConfiguration
2023-05-17 13:08:12.030+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.google.cloud.GCStorageURLConnection` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/google/cloud/storage/Storage
2023-05-17 13:08:12.037+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.hdfs.HDFSUtils$1` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream
2023-05-17 13:08:12.038+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `apoc.util.hdfs.HDFSUtils` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataOutputStream
2023-05-17 13:08:12.083+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.v4.gui.TreeViewer$VariableExtentProvide` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/abego/treelayout/NodeExtentProvider
2023-05-17 13:08:12.083+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.v4.gui.TreePostScriptGenerator` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/abego/treelayout/Configuration
2023-05-17 13:08:12.120+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.v4.gui.TreeViewer` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/abego/treelayout/Configuration
2023-05-17 13:08:12.126+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.v4.gui.TreePostScriptGenerator$VariableExtentProvide` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/abego/treelayout/NodeExtentProvider
2023-05-17 13:08:12.128+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.v4.unicode.UnicodeDataTemplateController` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/ibm/icu/text/UnicodeSet
2023-05-17 13:08:12.148+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.v4.gui.TreeLayoutAdaptor` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/abego/treelayout/TreeForTreeLayout
2023-05-17 13:08:12.599+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.antlr.runtime.tree.DOTTreeGenerator` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/antlr/stringtemplate/StringTemplate
2023-05-17 13:08:12.611+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.GsonJsonProvider` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/google/gson/JsonElement
2023-05-17 13:08:12.613+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JakartaJsonProvider$JsonArrayProxy$1` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonValue
2023-05-17 13:08:12.613+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JakartaJsonProvider$JsonArrayProxy$2` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonValue
2023-05-17 13:08:12.614+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JakartaJsonProvider$JsonArrayProxy` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonArray
2023-05-17 13:08:12.614+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JakartaJsonProvider$JsonObjectProxy$1` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonObject
2023-05-17 13:08:12.615+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JakartaJsonProvider$JsonObjectProxy` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonObject
2023-05-17 13:08:12.616+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JakartaJsonProvider` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonValue
2023-05-17 13:08:12.617+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.json.JsonOrgJsonProvider` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/json/JSONException
2023-05-17 13:08:12.619+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.GsonMappingProvider$1` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/google/gson/Gson
2023-05-17 13:08:12.619+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.GsonMappingProvider$2` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: com/google/gson/Gson
2023-05-17 13:08:12.620+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.JakartaMappingProvider$JsonArrayScope` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonValue
2023-05-17 13:08:12.620+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.JakartaMappingProvider$JsonObjectScope` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonValue
2023-05-17 13:08:12.621+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.JakartaMappingProvider$JsonStructureScope` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/JsonValue
2023-05-17 13:08:12.621+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.JakartaMappingProvider$JsonStructureToParserAdapter` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/stream/JsonParser
2023-05-17 13:08:12.622+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `com.jayway.jsonpath.spi.mapper.JakartaMappingProvider` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: jakarta/json/bind/JsonbException
2023-05-17 13:08:13.002+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `META-INF.versions.9.module-info` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: META-INF/versions/9/module-info is not a class because access_flag ACC_MODULE is set
2023-05-17 13:08:13.026+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.apache.commons.logging.impl.AvalonLogger` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/apache/avalon/framework/logger/Logger
2023-05-17 13:08:13.027+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.apache.commons.logging.impl.Log4JLogger` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
2023-05-17 13:08:13.028+0000 WARN [o.n.k.a.p.GlobalProcedures] Failed to load `org.apache.commons.logging.impl.LogKitLogger` from plugin jar `/plugins/apoc.jar`: java.lang.NoClassDefFoundError: org/apache/log/Logger
...
Also on a M1 mac, I can confirm the same issues reported by OP and Luis. Removing the NEO4J_PLUGINS
variable and moving the plugins in manually with the correct permissions allow the container to properly start. In my case the issue was with apoc-core
, using the older apoc
works fine. I was also able to have graph-data-science
download properly and set correct permissions when using the NEO4J_PLUGINS
variable
This issue should be fixed by https://github.com/neo4j/docker-neo4j/pull/459 The 5.12.0 and 4.4.26 releases will have the bugfix :+1:
Expected behaviour: Neo4j takes ownership of downloaded plugin file after install. Even if the plugin directory is mounted.
Actual behaviour: Currently if the plugins directory is mounted APOC plugin installation fails during docker compose up:
docker-compose.yaml
```yaml version: '3' services: neo4j: image: neo4j:5-community container_name: neo4j ports: - 7474:7474 - 7473:7473 - 7687:7687 volumes: - ./neo4j/conf:/var/lib/neo4j/conf - ./neo4j/data:/var/lib/neo4j/data - ./neo4j/logs:/var/lib/neo4j/logs - ./neo4j/import:/var/lib/neo4j/import - ./neo4j/plugins:/var/lib/neo4j/plugins # problematic environment: - NEO4J_server.memory.pagecache.size=1G - NEO4J_server.memory.heap.max_size=1G - NEO4J_AUTH=none - NEO4J_PLUGINS=["apoc"] networks: - ecosystem_network networks: ecosystem_network: driver: bridge ```Neo4j image tag being used: 5-community
docker version
docker compose version
OS macOs: 13.1 (22C65) Ventura Apple M1 Max