+1 On Mon, 25 Mar 2019 at 15:56, Hunter Lee <hu...@apache.org> wrote:
> I would like to start a discussion on making Java 8 a minimum requirement > and upgrading the Maven version for Helix's next feature release. I'd like > to see how people feel about it. > > Did some homework on this and dug up a few precedences that are also > top-level Apache projects dependent on ZooKeeper. The following > documentation lists many pros of moving to Java 8 as well, many of which I > will not include in this email for the sake of brevity (see the links > below). > > Open-source community discussions for > > Apache Samza: link1 > < > https://mail-archives.apache.org/mod_mbox/samza-dev/201610.mbox/%3CCAHUevGGnOQD_VmLWEdpFNq3Lv%2B6gQQmw_JKx9jDr5Cw%2BxFfGtQ%40mail.gmail.com%3E > > > > Apache Kafka: link1 <https://markmail.org/message/gnrn5ccql7a2pmc5> link2 > < > https://cwiki.apache.org/confluence/display/KAFKA/KIP-118%3A+Drop+Support+for+Java+7 > > > > I've also had informal chats with PMC members of both Samza and Kafka about > this specifically for more context, and from what they said, the transition > has been very smooth. > > Here are Helix-specific reasons why I think the move would be beneficial: > > - Other Apache open-source platforms built on Helix such as Pinot and > Gobblin all cite Java 8 as the minimum requirement. Building Helix in Java > 8 will help contributors of Helix respond to feature/debugging requests in > a more timely manner (without having to jump back and forth between Java 7 > and 8). > > - The recent change in Maven > < > https://central.sonatype.org/articles/2018/May/04/discontinued-support-for-tlsv11-and-below/ > > > (Central > Repository). Long story short, Helix build using JDK 7 on Maven 3.0.5+ will > fail. Using JDK 8 solves this problem. > > The cost of moving to Java 8 is relatively low. Java 7 is forward > compatibile with Java 8. However, there may be some backporting work needed > due to the way Java 8 changed the ConcurrentHashMap implementation. > > As for Maven, Helix's requirement currently is 3.0.4 which is a version > just below the required version other dependent Apache projects use (say, > Pinot <https://media.readthedocs.org/pdf/pinot/latest/pinot.pdf>). Again, > to save the contributors the trouble of having to navigate between Maven > versions, I am also suggesting that we update this requirement. > > > -Hunter > -- Olivier Lamy http://twitter.com/olamy | http://linkedin.com/in/olamy