This is a follow-up to issue https://github.com/JanusGraph/janusgraph/issues/304 which made me realize this inconsistency.
The documentation in docs/intro.txt says:
JanusGraph requires Java 8 (Standard Edition). Oracle Java 8 is recommended.
However, our Travis CI config explicitly only tests with OpenJDK 8:
jdk: - openjdk8
Also, BUILDING.md is confusing in a different way in that it does not specify which JDK distribution is preferred:
Building JanusGraph
Required:
- Java 8
- Maven 3
We need to reconcile this and be consistent everywhere, and test with the same JDK that we recommend that users should use.
The things to watch out for in looking at switching back to oraclejdk8 in Travis is that the default 1.8 version with oraclejdk8 may be too old and the work around is to use the oracle-java8-installer package which in the past introduced regular build failures due to glitches fetching packages from the associated custom repository.
@sjudeng – do we care to use Oracle JDK specifically? Is it faster? Does it provide any features we need that OpenJDK does not?
I suspect more users (and developers) are using Oracle JDK but it might be worth asking on the lists. It's a good question but I don't know why Oracle JDK was recommended in Titan. It's conceivable that it was just what was tested the most, though we could look over old posts/issues to see if there was anything more specific.
I think more people are using OpenJDK than they realize especially on Linux systems. Perhaps the recommendation came from a legacy perception where OpenJDK wasn't on par with the closed-source counterpart.
In any case, this is the origin of the note: thinkaurelius/titan#1105
@robertdale Thanks for tracking this down. That doesn't seem like a very strong reason for recommending Oracle JDK. Starting with JanusGraph 0.2.0 Elasticsearch local instances are only started through a full binary distribution and Elasticsearch setup documentation indicates either Oracle JDK or OpenJDK (though this page say Oracle) are supported.
Unless there's another reason maybe we can remove the note and indicate that JanusGraph is compatible with either Oracle JDK or OpenJDK, though automated testing is performed only with OpenJDK.
is there an update to this issue ?
Most linux systems as well as scyllaDB by default install openjdk as its primary choice...
Most helpful comment
@robertdale Thanks for tracking this down. That doesn't seem like a very strong reason for recommending Oracle JDK. Starting with JanusGraph 0.2.0 Elasticsearch local instances are only started through a full binary distribution and Elasticsearch setup documentation indicates either Oracle JDK or OpenJDK (though this page say Oracle) are supported.
Unless there's another reason maybe we can remove the note and indicate that JanusGraph is compatible with either Oracle JDK or OpenJDK, though automated testing is performed only with OpenJDK.