[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