Open Podbrushkin opened 12 months ago
This is very strange. I was able to reproduce the problem the first time I ran the code. Then after a few retries it just started working??
@Podbrushkin what's the output if you add -e NEO4J_DEBUG=yes
to the run command?
Thank you for your attention, this is output if given arg is added to command:
DEBUGGING ENABLED
Running as user 1000:1000 inside neo4j image
checking /logs is writable
checking /data is writable
checking /data/databases is writable
checking /data/transactions is writable
One or more NEO4J_PLUGINS have been requested.
Checking requested plugins are known and can be installed.
Plugin graph-data-science has been requested
graph-data-science must be downloaded.
Will read graph-data-science versions.json from https://graphdatascience.ninja/versions.json
Fetching versions.json for Plugin 'graph-data-science' from https://graphdatascience.ninja/versions.json
ERROR: 'https://graphdatascience.ninja/versions.json' does not contain an entry for 5.13.0
ERROR: No compatible "graph-data-science" plugin found for Neo4j 5.13.0.
This can happen with the newest Neo4j versions when a compatible plugin has not yet been released.
You can either use an older version of Neo4j, or continue without graph-data-science.
Neo4j will continue to start, but "graph-data-science" will not be loaded.
Applying plugin specific configurations.
Applying default values for plugin graph-data-science to neo4j.conf
graph-data-science requires setting dbms.security.procedures.unrestricted=gds.*
dbms.security.procedures.unrestricted=gds.* has been added to the configuration file.
Setting docker specific configuration overrides
Appended server.memory.pagecache.size=512M to /var/lib/neo4j/conf/neo4j.conf
Appended server.default_listen_address=0.0.0.0 to /var/lib/neo4j/conf/neo4j.conf
Applying configuration settings that have been set using environment variables.
Removing existing setting for server.directories.logs in /var/lib/neo4j/conf/neo4j.conf
Appended server.directories.logs=/logs to /var/lib/neo4j/conf/neo4j.conf
Authentication is requested to be unset
Removing existing setting for dbms.security.auth_enabled in /var/lib/neo4j/conf/neo4j.conf
Appended dbms.security.auth_enabled=false to /var/lib/neo4j/conf/neo4j.conf
getting full neo4j run command
exec /opt/java/openjdk/bin/java -cp /var/lib/neo4j/plugins/*:/var/lib/neo4j/conf/*:/var/lib/neo4j/lib/* -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -XX:+DisableExplicitGC -Djdk.nio.maxCachedBufferSize=1024 -Dio.netty.tryReflectionSetAccessible=true -Djdk.tls.ephemeralDHKeySize=2048 -Djdk.tls.rejectClientInitiatedRenegotiation=true -XX:FlightRecorderOptions=stackdepth=256 -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -Dlog4j2.disable.jmx=true -Dfile.encoding=UTF-8 org.neo4j.server.CommunityEntryPoint --home-dir=/var/lib/neo4j --config-dir=/var/lib/neo4j/conf --console-mode
2023-12-05 12:03:55.765+0000 INFO Logging config in use: File '/var/lib/neo4j/conf/user-logs.xml'
2023-12-05 12:03:55.785+0000 INFO Starting...
2023-12-05 12:03:56.515+0000 INFO This instance is ServerId{10035b22} (10035b22-fe8d-4a16-a274-8ceb77daa6b9)
2023-12-05 12:03:57.363+0000 INFO ======== Neo4j 5.13.0 ========
2023-12-05 12:03:59.125+0000 INFO Bolt enabled on 0.0.0.0:7687.
2023-12-05 12:03:59.747+0000 INFO HTTP enabled on 0.0.0.0:7474.
2023-12-05 12:03:59.748+0000 INFO Remote interface available at http://localhost:7474/
2023-12-05 12:03:59.750+0000 INFO id: 2DD23976E89FF9D5451DE33AA236B08976AE31D624CC585C2CD4C797C2E7CD74
2023-12-05 12:03:59.750+0000 INFO name: system
2023-12-05 12:03:59.751+0000 INFO creationDate: 2023-12-05T12:03:58.078Z
2023-12-05 12:03:59.751+0000 INFO Started.
Hi @jennyowen :) I have a similar problem using podman.
podman container run --restart no \
-p 7474:7474 -p 7687:7687 \
--env NEO4J_AUTH=neo4j/mypassword \
--log-level=debug \
-v=./data:/data:Z -v=./logs:/logs:Z \
--name neo4j \
-d --userns=keep-id \
--env NEO4J_PLUGINS='["graph-data-science"]' \
neo4j:5.19.0-community-ubi9
The container is successfully created but no access to graph data science plugin.
$ podman logs neo4j
Fetching versions.json for Plugin 'graph-data-science' from https://graphdatascience.ninja/versions.json
ERROR: No compatible "graph-data-science" plugin found for Neo4j 5.19.0 community.
This can happen with the newest Neo4j versions when a compatible plugin has not yet been released.
You can either use an older version of Neo4j, or continue without graph-data-science.
Neo4j will continue to start, but "graph-data-science" will not be loaded.
Applying default values for plugin graph-data-science to neo4j.conf
Changed password for user 'neo4j'. IMPORTANT: this change will only take effect if performed before the database is started for the first time.
2024-07-01 09:39:51.955+0000 INFO Logging config in use: File '/var/lib/neo4j/conf/user-logs.xml'
2024-07-01 09:39:51.969+0000 INFO Starting...
2024-07-01 09:39:52.658+0000 INFO This instance is ServerId{dd07ae4d} (dd07ae4d-a093-4752-9e82-c12d16ef64da)
2024-07-01 09:39:53.374+0000 INFO ======== Neo4j 5.19.0 ========
2024-07-01 09:39:54.504+0000 INFO Bolt enabled on 0.0.0.0:7687.
2024-07-01 09:39:55.010+0000 INFO HTTP enabled on 0.0.0.0:7474.
2024-07-01 09:39:55.011+0000 INFO Remote interface available at http://localhost:7474/
2024-07-01 09:39:55.013+0000 INFO id: 89441CF85A00B8260C0F6E8680D0932C3C42D9E32E05BF5D1BF647DE292D2358
2024-07-01 09:39:55.013+0000 INFO name: system
2024-07-01 09:39:55.014+0000 INFO creationDate: 2024-06-13T10:40:59.736Z
2024-07-01 09:39:55.014+0000 INFO Started.
I see that my logs reference 5.19.0 community specifically while https://graphdatascience.ninja/versions.json
reference only 5.19.0. Could that be the problem and if so is there a way to deal with that?
hi @burqen ! Again I haven't been able to reproduce the problem. It was raised recently that if the versions.json can't be downloaded by the container, then it throws the same error about plugin not having a compatible release. I made a bug fix here https://github.com/neo4j/docker-neo4j/pull/497 but it only got fixed in 5.21.
So it could be that, since the problem doesn't reproduce reliably?
Thanks @jennyowen :) I will look into if there are any access problems on the network where I am.
Hi again @jennyowen So, the server sits in a secure network without internet access. Is there a way to tell the container to pick up the .jar locally instead? If so I can upload the .jar manually to the server.
Hi @burqen of course!
You just need to put all your plugins into a folder then mount it to /plugins
on the container.
There's documentation about it here:
https://neo4j.com/docs/operations-manual/current/docker/plugins/
Beautiful @jennyowen , works like a charm! 🙏
This doc page provides this command:
Expected behavior
Mounted image with neo4j and
graph-data-science
plugin enabled.Actual behavior
Mounted image with neo4j but with this output instead of graph-data-science plugin:
List of supported Neo4j versions contains 5.13.0, obviously compatible plugin has already been released.
Changing Neo4j version to older one doesn't help.