Hi all,

TL;DR Oracle has started revving the JDK version much faster, and we need
an agreed upon plan.

Well, we probably should has this discussion this already by now, but here
we are. Oracle announced plans to release updated JDK version every six
months, and each new version immediate supercedes the previous in all ways:
no updates/security fixes to previous versions is the main thing, and
previous versions are EOL'd immediately. In addition, Oracle has planned
parallel LTS versions that will live for three years, and then superceded
by the next LTS; but not immediately EOL'd from what I can tell. Please see
[1, 2] for Oracle's offical comments about this change ([3] was
particularly useful, imo), [4] and many other postings on the internet for
discussion/commentary.

We have a jira [5] where Robert Stupp did most of the work to get us onto
Java 9 (thanks, Robert), but then the announcement of the JDK version
changes happened last fall after Robert had done much of the work on the
ticket.

Here's an initial proposal of how to move forward. I don't suspect it's
complete, but a decent place to start a conversation.

1) receommend OracleJDK over OpenJDK. IIUC from [3], the OpenJDK will
release every six months, and the OracleJDK will release every three years.
Thus, the OracleJDK is the LTS version, and it just comes from a snapshot
of one of those OpenJDK builds.

2) always release cassandra on a LTS version. I don't think we can
reasonably expect operators to update the JDK every six months, on time.
Further, if there are breaking changes to the JDK, we don't want to have to
update established c* versions due to those changes, every six months.

3) keep trunk on the lasest jdk version, assumming we release a major
cassandra version close enough to a LTS release. Currently that seems
reasonable for cassandra 4.0 to be released with java 11 (18.9 LTS)
support. Perhaps we can evaluate this over time.


Once we agree on a path forward, *it is impreative that we publish the
decision to the docs* so we can point contributors and operators there,
instead of rehashing the same conversation.

I look forward to a lively discussion. Thanks!

-Jason

[1] http://www.oracle.com/technetwork/java/eol-135779.html
[2]
https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se
[3]
https://www.oracle.com/java/java9-screencasts.html?bcid=5582439790001&playerType=single-social&size=events
[4]
http://blog.joda.org/2018/02/java-9-has-six-weeks-to-live.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+StephenColebournesBlog+%28Stephen+Colebourne%27s+blog%29
[5] https://issues.apache.org/jira/browse/CASSANDRA-9608

Reply via email to