Hello

Thank you for sharing information about JDK support discussion. I'd like to 
share what I know now.

In terms of runtime level support, we've tried JDK8 with HDP2.3. Although of 
course there may be several diffs between HDP and upstream(trunk, branch-2), it 
is generally working well. We are running hadoop, mapreduce, yarn, hdfs, 
hive(HS2, command line). So I also think runtime level support of JDK8 is 
generally completed. 
And new features such as Hive LLAP or HDFS erasure coding also work well 
currently from the viewpoint of runtime environment.

Regard
Kai Sasaki

Sent from my tiny typewriter.

> On Oct 6, 2015, at 3:43 AM, Tsuyoshi Ozawa <oz...@apache.org> wrote:
> 
> I forgot to mention - we also need to upgrade Google Guice to 0.4.0
> for source-level JDK8 support in addition to asm and cglib.
> 
> https://github.com/google/guice/wiki/Guice40
> 
>> Some highlights:
>> Java8 runtime compatibility for Guice core & all extensions.
> 
> Best regards,
> - Tsuyoshi
> 
>> On Tue, Oct 6, 2015 at 9:35 AM, Tsuyoshi Ozawa <oz...@apache.org> 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.
>> 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

Reply via email to