Closed gianm closed 7 years ago
See https://github.com/druid-io/druid/pull/3328 for byte-code java 8 related stuff.
Just to be clear, I'm not intending to drive a change to Java 8 source and bytecode. Just requiring Java 8 JVM at runtime so we can use dependencies that do use Java 8 bytecode (like newer versions of Jetty and DataSketches).
I would be OK with changing to Java 8 source and bytecode as well if the community thinks it's worth it, but that is not what I meant to propose.
IMO a proposal to switch to Java 8 source should involve some patches that use the new Java 8 features to good effect.
I read through the druid-user poll and the two common themes for the "keep java 7 support" vote seem to be:
I'm not sure if this is feasible, but we might be able to keep the Hadoop indexer working on Java 7 runtimes even as the services move to requiring Java 8. The Hadoop indexer shouldn't need Jetty and if we're careful about what other Java 8 dependencies we add then we could possibly make that work.
@gianm / @dclim do you guys have a test environment setup that could capture a java7 hadoop environment?
From Cloudera's documentation (https://www.cloudera.com/documentation/enterprise/5-3-x/topics/cdh_cm_upgrading_to_jdk8.html): "Cloudera does not support a rolling upgrade to JDK 1.8. You must shut down the entire cluster." Pretty unfortunate.
@drcrallen our "hadoop gauntlet" tests for Apache Hadoop distros run in jdk-7u71. I'm not sure about our tests for other distros, but if the Apache ones work then that's a good sign.
Closed by #3914
Some reasons to require a Java 8 runtime: #3745, #3595, #3710.
Related mailing list discussions:
Things we should verify first:
It's also possible to use Java 8 source and bytecode but I think that's a separate discussion, that IMO should come with some patches that use the new Java 8 features to good effect.