+1 (nb)

There are the following pain points (mentioned in the discussion thread as
well) related to this option but other options look even worse :-), so I
think it is a fair cost:

   - potential necessity to update 3rd party dependencies in GA branches to
   support a newer JDK
   - deprecating of JDK features we use: the nearest one which I see is
   Unsafe methods removal (probably since JDK26) which will force us to switch
   to FFM API (which one is GA only since JDK 22, so it means to support older
   JDK versions we have to introduce some kind of conditional logic around it).




On Wed, 18 Jun 2025 at 22:37, Jordan West <jw...@apache.org> wrote:

> +1
>
> On Wed, Jun 18, 2025 at 8:28 AM C. Scott Andreas <sc...@paradoxica.net>
> wrote:
>
>> +1
>>
>> On Jun 18, 2025, at 11:08 AM, Aleksey Yeshchenko <alek...@apple.com>
>> wrote:
>>
>> +1
>>
>> On 18 Jun 2025, at 14:24, Josh McKenzie <jmcken...@apache.org> wrote:
>>
>> We're at 10 binding +1. Need 3 more to move this across the line.
>>
>> On Tue, Jun 17, 2025, at 6:58 PM, Joseph Lynch wrote:
>>
>> +1
>>
>> On Tue, Jun 17, 2025 at 1:47 PM David Capwell <dcapw...@apple.com> wrote:
>>
>> +1
>>
>> On Jun 17, 2025, at 3:44 AM, Štefan Miklošovič <smikloso...@apache.org>
>> wrote:
>>
>> +1
>>
>> On Fri, Jun 13, 2025 at 1:58 PM Josh McKenzie <jmcken...@apache.org>
>> 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
>>    
>> <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.
>>
>>
>>
>>

-- 
Dmitry Konstantinov

Reply via email to