I have no objections to dropping support for JDK 8, but why only support JDK 11? What would it take to support JDK 11 and all newer JDKs?
There's an analogy with starting and stopping a train. Once you have stopped a train (settled on a particular JDK release for a number of years) starting it is hard, because of static friction. So it's easier to just keep the train rolling. In Calcite we have a policy to support all JDK versions, and it means that we have never become dug into one version. Supporting a new version becomes a small incremental effort. Sometimes we have had to build shims to protect us against changes, but it was never too onerous in terms of maintenance or performance. Obviously Druid is a very different project to Calcite, but "keeping the train rolling" has worked well for us. Also, remember that Druid is a project, not a product. It's fine if Druid compiles, and builds, and passes the basic test suite, on JDK 12 even though you declare that is not 'supported' in production. Julian On Mon, Nov 9, 2020 at 2:41 PM Suneet Saldanha <suneet.salda...@imply.io> wrote: > Hi Druids! > > I've been thinking about what it would take for us to remove support for > JDK 8 in the 0.21 release, and officially add support for JDK 11. > > I see that unit tests for jdk11 were added about 1+ year ago in Aug 2019 - > https://github.com/apache/druid/pull/8400 > And integration tests were added ~ 8 months ago in Feb 2020 - > https://github.com/apache/druid/pull/9249 > > Since the jdk11 integration tests were added, I can't remember seeing any > tests fail for a jdk11 test, but pass for jdk 8 or vice versa. Given that > it's been about 1 year that these tests have been running, is there any > opposition to officially removing support for JDK 8 and adding support for > JDK 11? > > There are a few big advantages I can think of for this: > > 1. Java 8 is end of life, so officially supporting java 11 will allow > users to run Druid with at least java 11 which is slotted for support till > September 2023 according to > https://www.oracle.com/java/technologies/java-se-support-roadmap.html > 2. We can reduce our Travis usage by almost half, and lighten the load > on ASF's Travis account - today we are the second highest consumer of > travis resources by project https://infra-reports.apache.org/cistats/ > [image: Screen Shot 2020-11-09 at 2.34.45 PM.png] > > The only limiting factor I can think of are full scale performance tests > that prove there is no major regression in moving from jdk 8 to jdk 11. Are > there any other issues that should be considered before adding support for > java 11? >