hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@hortonworks.com>
Subject Re: [DISCUSS] Set minimum version of Hadoop 3 to JDK8 (HADOOP-11858)
Date Tue, 17 May 2016 12:09:04 GMT

> On 16 May 2016, at 23:58, Andrew Wang <andrew.wang@cloudera.com> wrote:
> 
> Very happy to announce that we've committed HADOOP-11858. I'm looking
> forward to writing my first lambda in Java. I also attached a video to the
> JIRA so we can all relive this moment in Hadoop development history.
> 
> It sounds like there's some precommit work to align test-patch with this
> change. I'm hoping Allen will take point on this, but ping me if I can be
> of any assistance.
> 

Everyone who worked on this deserves a lot of credit, especially anyone working on library
incompatibilities


What does it mean?

1. it means that if you are working on trunk, you only need to worry about Java 8. 

2. You can use java 8 language features: time to learn your lambda expressions.  Apparently
this it a good tutorial http://www.cse.chalmers.se/research/group/logic/TypesSS05/Extra/geuvers.pdf

3. You can use java 8 library features.


It also means: you can no longer backport stuff from trunk to branch-2 and expect it to always
compile

If you are working on code which you hope to get into branch-2, you need to show it will work
in Java 7

Tactics

1. work on branch-2; forward port to trunk
2. before backporting from trunk, submit a HADOOP-1234-branch-2-001.patch ; yetus will see
the branch-2 marker and test against branch2.

I would recommend always doing #2, irrespective of which branch you work on. Why? It means
you can just switch the java version on your path to 1.8, with branch-2 still being in java
7 language —but the java library picked up will be the 1.8 lib. The only way to be confident
that you haven't picked up java 8 features is to build and test against JDK7, which Yetus
does if you name your patch right.

I know this will be a bit of extra work, and I expect we will all make mistakes here. If anyone
does accidentally commit JDK8+ code to branch-2, then it should be bounced out as soon as
it's noticed, then a new patch nurtured in via Yetus  & Jenkins. We want to keep branch-2
building.

On that topic, Jenkins isn't happy these days...I think we need to spend some monitoring it
and fixing. At least now we can cull the java7 trunk builds, leaving less to ignore.


 There's one test, TestDNS which fails intermittently (always), but more and more we are learning
to ignore. That's dangerous. 



---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-dev-help@hadoop.apache.org
Mime
View raw message