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.
> 
> 

Reply via email to