apache / druid

Apache Druid: a high performance real-time analytics database.
https://druid.apache.org/
Apache License 2.0
13.32k stars 3.66k forks source link

Require Java 8 runtime #3746

Closed gianm closed 7 years ago

gianm commented 7 years ago

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.

drcrallen commented 7 years ago

See https://github.com/druid-io/druid/pull/3328 for byte-code java 8 related stuff.

gianm commented 7 years ago

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.

gianm commented 7 years ago

IMO a proposal to switch to Java 8 source should involve some patches that use the new Java 8 features to good effect.

gianm commented 7 years ago

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.

drcrallen commented 7 years ago

@gianm / @dclim do you guys have a test environment setup that could capture a java7 hadoop environment?

tjgiuli commented 7 years ago

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.

gianm commented 7 years ago

@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.

gianm commented 7 years ago

Closed by #3914