hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tsuyoshi Ozawa <oz...@apache.org>
Subject [DISCUSS] About the details of JDK-8 support
Date Tue, 06 Oct 2015 00:35:51 GMT
Hi commiters and users of Hadoop stack,

I’ll share the current status of JDK-8 support here. We can take a
two-step approach to support JDK-8 - runtime-level support and
source-level support.

About runtime-level support, I’ve tested Hadoop stack with JDK-8  e.g.
MapReduce, Spark, Tez, Flink on YARN and HDFS for a few months. As
long as I tested, it works well completely since JDK-8 doesn’t have
any incompatibility at binary level. We can say Hadoop has supported
JDK8 runtime already. Do you have any concern about this? I’ve not
tested with HBase yet. I need help of HBase community. I think only
problem about runtime is HADOOP-11364, default value of
colntainer-killer of YARN. After fixing the issue, we can declare the
support of JDK on Hadoop Wiki to make it clear for users.
https://wiki.apache.org/hadoop/HadoopJavaVersions

About source-level, however, we have one big problem - upgrading
dependency of asm and cglib. We need to upgrade all libraries which
depends on asm to support new byte code introduced in JDK8[1]. The
dependencies which uses asm are jersey-server for compile and provide
scope, and cglib for test scope(I checked it with mvn dependency:tree
command). HADOOP-9613 is addressing the problem.

One complex problem I’ve faced is Jersey depends on grizzly - to
upgrade jersey to 1.19, which supports JDK8,
 we need to upgrade grizzly to 2.2.16 to use
jersey-test-framework-grizzly2. I’d like to discuss which version we
will target this change. Can we do this in branch-2? Should we take
care of HADOOP-11656 and HADOOP-11993 at the same time? I’d also
confirm whether HADOOP-11993 means to remove Jersey, which depends on
asm, or not. I think we can collaborate with Yetus community here.

Also, another simple problem is that source code cannot be compiled
because javadoc format or variable identifier are illegal(e.g.
HADOOP-12457, HADOOP-11875). I think this can be solved
straightforwardly.

Please share any concern I’ve missed. The opinions of users are also welcome :-)
I'd like to go forward this step by step to make Hadoop user friendly.

Thanks Steve, Sean, Allen, Robert, Brahma, Akira, Larry, Allen, Andrew
Purtell, Tsz-wo Sze, Sethen and other guys for having lots works about
JDK-8.

Best regards,
- Tsuyoshi

[1] http://product.hubspot.com/blog/upgrading-to-java-8-at-scale
[2] http://ispras.linuxbase.org/index.php/Java_API_Compliance_Checker

Mime
View raw message