+1 (nb) with the clarified verbiage (thanks for talking through that with me).
Doug > On Jun 13, 2025, at 3:55 PM, Aaron <aaronplo...@gmail.com> wrote: > > +1 > > On Fri, Jun 13, 2025 at 2:33 PM Yifan Cai <yc25c...@gmail.com > <mailto:yc25c...@gmail.com>> wrote: >> +1 (nb) >> Read through the long discussion, the plan makes sense to me. >> >> From: Brandon Williams <dri...@gmail.com <mailto:dri...@gmail.com>> >> Sent: Friday, June 13, 2025 12:09:35 PM >> To: dev@cassandra.apache.org <mailto:dev@cassandra.apache.org> >> <dev@cassandra.apache.org <mailto:dev@cassandra.apache.org>> >> Subject: Re: [VOTE] Clarifying our JDK Support Policy >> >> +1 >> >> Kind Regards, >> Brandon >> >> On Fri, Jun 13, 2025 at 12:23 PM Josh McKenzie <jmcken...@apache.org >> <mailto:jmcken...@apache.org>> wrote: >> > >> > If removed, we drop the required older JDK across all branches when the >> > feature is removed. >> > >> > Talking to Doug about this; let's revise this phrasing to: >> > "When the feature has been removed from all supported branches, the >> > constraint to retain JDK support for that feature drops with it." >> > >> > On Fri, Jun 13, 2025, at 7:58 AM, Josh McKenzie wrote: >> > >> > +1 >> > >> > On Fri, Jun 13, 2025, at 7:56 AM, Josh McKenzie wrote: >> > >> > [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 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. >> > >> > >> >