Re: Java 11 adoption

Robert Varga

On 10/01/2019 19:30, Robert Varga wrote:
Hello everyone,

as I noted in previous updates, our Neon release stream looks rather
good where JDK11 compatibility is concerned, with my local builds with
JDK11 passing with minor fixes (submitted) up to and including

With the three version bumps tracked at TSC-186, TSC-187 and TSC-188,
this should be readily reproducible without resorting to my local hacks.
This activity has been concluded and furthermore we have an Java 11
autorelease build for the Sodium release train.

I would like to ask individual projects to do some build testing to
ensure they work with JDK11 in the time we have left before Neon code
freeze sets in (1/24/2019), but as this was never a requirement to
participate nor a TSC-mandated goal, it really is up to them.

The big question is how are we going to go about adopting Java 11 from
the point of:
- it being a fully supported runtime
- it being the minimum required runtime

As an alternative we could skip the combined Java 8/Java 11 release,
going directly to a Java 11-only release -- either with Sodium or with

I would like to start the discussion around the options we have and
preferences of both OpenDaylight projects and our downstreams.
Based on the feedback on this thread and the feedback I received from
users, it is clear that making a direct jump to Java 11 in Sodium would
be problematic to at least one of our open-source downstreams.

In face of that, I propose we execute as follows:

- have concurrent autorelease-openjdk8 and autorelease-openjdk11 builds
- do not have separate openjdk11 verify jobs
- stabilize autorelease-openjdk11 by the midway checkpoint
- Sodium release artifacts are still built with autorelease-openjdk8
- evaluate feasibility of switching CSIT to Java 11

I am not sure about the last point -- we need to decide which JRE is
primary for Sodium. I would like to push for Java 11 being the primary,
and switching CSIT to it by midway checkpoint, but I am not sure if that
is feasible.

Based on that, we would have:

- Sodium compatible with Java 8 and Java 11, with recommended runtime
being either 8 or 11 (based on the CSIT question above).

- Magnesium being a Java 11-only release.

Abhijit, can you schedule this topic for the next week's TSC, please?


P.S.: JDK12 has entered RDP-2 phase and we will need to keep an eye out
for it during Sodium because it brings interesting runtime improvements.
Also JDK13 planning has started and there are few juicy bits on the
candidate list -- hence our adoption of JDK14 should be speedier than 11 :)

Join { to automatically receive all group messages.