To close the loop: I added a new top level page in our wiki on Governance and Operations with some links to ASF policy docs that will hopefully be helpful: link <https://cwiki.apache.org/confluence/display/CASSANDRA/Project+Governance+and+Operations>.
I've added a page under that hierarchy for this JDK version support policy <https://cwiki.apache.org/confluence/display/CASSANDRA/JDK+Version+Support+Policy> and moved some of the loose top level pages that belonged into that group. On Thu, Jun 19, 2025, at 7:55 AM, Josh McKenzie wrote: > Binding: 14 +1, no -1 > Non-binding: 3 +1, no -1 > > With 14 binding +1 and no -1, the vote passes quorum of 13 with a > supermajority. > > I'll look to codify this in the wiki tomorrow and we can chart our follow up > work on trunk and other branches to start moving on this. > > Thanks everyone for the discussion and vote participation! > > ----- Original message ----- > From: Josh McKenzie <jmcken...@apache.org> > To: dev <dev@cassandra.apache.org> > Subject: [VOTE] Clarifying our JDK Support Policy > Date: Friday, June 13, 2025 7:56 AM > > [DISCUSS] thread: > https://lists.apache.org/thread/vr7j2ob92k6fbcwvlfo60l3scylzdbft > > Text to vote on: > -------------------------------------------------------------------------------------- > *[New LTS JDK Adoption]* > • When a new JDK goes LTS, we prioritize: > • Moving trunk to build, run, pass CI, and support language level of that > JDK, dropping others > • Adding support to *run* on that JDK to all supported GA releases, > passing all CI using that JDK > • These 2 operations must merge atomically. This allows us to preserve the > contract of allowing like-to-like JDK's for a live C* upgrade > *[Build, run, language level, Pre Commit CI, EOL]* > • trunk builds, runs, has CI on, and supports the language level of 1 JDK at > any given time (ideally latest LTS JDK) > • Supported non-trunk GA branches: > • build, run, pass CI, and support the language level of *the oldest JDK > they are certified for* > • Are supported to *run* on all LTS JDK's between their oldest supported > and newest LTS supported by trunk > • In the very rare case a feature would have to be removed due to JDK change > (think UDF's scripting engine), we instead keep the maximum allowable JDK for > that feature supported on trunk and subsequent releases. The feature is > flagged for deprecate-then-remove or re-implementation based on dev ML > discussion. If removed, we drop the required older JDK across all branches > when the feature is removed. Supporting new LTS JDK's is considered higher > priority than supporting features that JDK's are no longer compatible with, > pending debate on the dev ML. > • Dropping JDK support happens naturally as old releases go EOL. > *[Post Commit JDK validation CI]* > • Periodically we will run all CI pipelines for all *runtime* supported > JDK's for that branch (cadence TBD) > • We will add basic perf testing across all GA branches + their supported > runtime JDK's with reference workloads from easy-cass-stress for a simple > performance-based smoke test > -------------------------------------------------------------------------------------- > Vote structure: > • Roll call > <https://cwiki.apache.org/confluence/display/CASSANDRA/Cassandra+Project+Governance> > is 25. > • Quorum: 13 (min required votes to qualify results) > • Super-majority of participating votes in favor required to pass (9 in > favor at 13 min votes, etc) > Will leave the vote open for a week. > >