On 7 Oct 2015, at 07:29, Masatake Iwasaki wrote:

Thanks for clear summary, Tsuyoshi.

I read some related past discussions.


Though there seems to be no consensus about when to drop java 7 support yet,
it would not be 2.8 for which the preparation is already started.
If the works for making source compatible with java 8 does not result in
dropping java 7 support, it would be nice and easy to backport to branch-2.

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?
At lease, the newest grizzly, jersey and asm seems to support java 7 too
and HADOOP-11993 may work in branch-2.
Certainly for trunk, I'm +1 for making the leap. For branch 2, how backwards compatible/incompatible is the change?

I think we'd have to test it downstream; I can use slider & spark as test builds locally —YARN apps are the failure points. Someone else would have to try HBase.

In that world, we could think of having a short-lived branch-2-java-8 branch, which cherry picks the grizzly changes from trunk, and which we can then use for that downstream testing
Masatake Iwasaki

On 10/6/15 09:35, Tsuyoshi Ozawa wrote:
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.

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

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

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

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 5 of 11 | next ›
Discussion Overview
groupdev @
categorieshbase, hadoop
postedOct 6, '15 at 12:35a
activeOct 13, '15 at 5:04p



site design / logo © 2021 Grokbase