Thanks Vinod and Steve, agreed about java7 compile compatibility. At least for now, we should be able to maintain java7 source compatibility and run tests on java8. There's a test run here: https://builds.apache.org/job/hadoop-qbt-branch2-java7-linux-x86-jhung/46/ which calls a java8 specific API, installs both openjdk7/openjdk8 in the dockerfile, compiles on both versions, and tests on just java8 (via --multijdkdirs=/usr/lib/jvm/java-7-openjdk-amd64,/usr/lib/jvm/java-8-openjdk-amd64 and --multijdktests=compile). If we eventually decide it's too much of a pain to maintain java7 source compatibility we can do that at a later point.
Also based on discussion with others in the community at the contributors meetup this past Wednesday, seems we are generally in favor of testing against java8. I'll start a vote soon. Jonathan Hung On Tue, Jan 29, 2019 at 4:11 AM Steve Loughran <ste...@hortonworks.com> wrote: > branch-2 is the JDK 7 branch, but for a long time I (and presumably > others) have relied on jenkins to keep us honest by doing that build and > test > > right now, we can't do that any more, due to jdk7 bugs which will never be > fixed by oracle, or at least, not in a public release. > > If we can still do the compile in java 7 language and link to java 7 JDK, > then that bit of the release is good -then java 8 can be used for that test > > Ultimately, we're going to be forced onto java 8 just because all our > dependencies have moved onto it, and some CVE will force us to move. > > At which point, I think its time to declare branch-2 dead. It's had a > great life, but trying to keep java 7 support alive isn't sustainable. Not > just in this testing, but > cherrypicking patches back gets more and more difficult -branch-3 has > moved on in both use of java 8 language, and in the codebase in general. > > > On 28 Jan 2019, at 20:18, Vinod Kumar Vavilapalli <vino...@apache.org> > wrote: > > > > The community made a decision long time ago that we'd like to keep the > compatibility & so tie branch-2 to Java 7, but do Java 8+ only work on 3.x. > > > > I always assumed that most (all?) downstream users build branch-2 on JDK > 7 only, can anyone confirm? If so, there may be an easier way to address > these test issues. > > > > +Vinod > > > >> On Jan 28, 2019, at 11:24 AM, Jonathan Hung <jyhung2...@gmail.com> > wrote: > >> > >> Hi folks, > >> > >> Forking a discussion based on HADOOP-15711. To summarize, there are > issues > >> with branch-2 tests running on java 7 (openjdk) which don't exist on > java > >> 8. From our testing, the build can pass with openjdk 8. > >> > >> For branch-3, the work to move the build to use java 8 was done in > >> HADOOP-14816 as part of the Dockerfile OS version change. HADOOP-16053 > was > >> filed to backport this OS version change to branch-2 (but without the > java > >> 7 -> java 8 change). So my proposal is to also make the java 7 -> java 8 > >> version change in branch-2. > >> > >> As mentioned in HADOOP-15711, the main issue is around source and binary > >> compatibility. I don't currently have a great answer, but one initial > >> thought is to build source/binary against java 7 to ensure compatibility > >> and run the rest of the build as java 8. > >> > >> Thoughts? > >> > >> Jonathan Hung > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: yarn-dev-unsubscr...@hadoop.apache.org > > For additional commands, e-mail: yarn-dev-h...@hadoop.apache.org > > > >