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