Hi, I posted a question under the Desktop section, and was asked by staff to repost it here. Any help / insight is appreciated. Original question, and link to the thread are below.
https://community.neo4j.com/t/incompatible-jvm-for-3-5-and-desktop/29823
Hi, I've been dealing with bugs that have been cropping up lately, specifically in regards to some of our devs using neo4j desktop, as opposed to running directly from command line (./bin/neo4j console).
Issue was tested in macOS/Catalina. I'm on neo4j 3.5.x , and using python driver 1.7 in our tooling. I also use graphaware server / UUID plugins.
The main issue, I believe, is that Neo4j Desktop does not have a setting to use the system's java environment, as opposed to the one built into Desktop. It appears that after a certain release of Desktop, likely with the 4.0 release, it's only providing java 11, and doesn't appear to have logic to use java 8 on 3.5 (or at least that's my assumption based on the errors). Whenever I run a database through the Desktop interface now, I get the following warning:
2020-11-30 04:40:18.698+0000 WARN You are using an unsupported version of the Java runtime. Please use Oracle(R) Java(TM) Runtime Environment 8, OpenJDK(TM) 8 or IBM J9.
Even though my JAVA_HOME and PATH are both configured correctly.
I normally would be fine ignoring this; however, it results in a separate error when I try to add data to my database, again in conjunction with the python neo4j driver 1.7 and graphaware.
neobolt.exceptions.ClientError: org/omg/CORBA/portable/IDLEntity
I found nothing on this error in my searching, and there weren't any other more descriptive logs I could find. I can't confirm what part of the stack is causing this, but it's clear now at least that having the correct version of Java avoids the problem.
My temporary solution is to run databases without the Desktop interface, but that's obviously not ideal. Long term we'll likely be migrating to using neo4j 4 and python driver 4, which I suppose will remove the need for a custom java path. In the meantime though, this seems like something that needs addressed. If neo4j desktop claims to support version 3, it would presumably have a mechanism to let you run that with the supported version of java. I was hoping to find a java path setting in neo4j.conf or something, but was not able to find documentation for it.
If anyone knows of a way to do that already that I've missed, or have other suggestions to deal with this, would be greatly appreciative. Also if someone knows whether this is specifically incompatibility between Java 11 and either Neo4j 3, python driver 1.7, or graphaware 3.5, that would help us in the short term.