While I understand *some* users care, we shouldn't take the preferences of
a very small minority of users as project policy.  I've worked with
hundreds of teams, and I can't recall a single one caring about doing A/B
testing in JVM versions.

> There is also that recommendation that I keep on hearing - don’t do C*
major upgrade and JDK upgrade simultaneously. I believe that was one of the
reasons for overlap too

There's no practical reason for this today.  Maybe in the Java 6 or 8 days,
sure.  But now, it's a useless requirement.

Jon



On Tue, May 20, 2025 at 8:45 AM Benedict <bened...@apache.org> wrote:

> In-jvm dtests need to execute an upgrade path on a single jvm, but this is
> close to always possible on the latest jvm. We haven’t hit any issues that
> I know of in this respect during any version change, so I don’t think this
> is a real concern.
>
> Some users do care about overlapping JVM compatibility. Containers may be
> exceptionally common but it is far from 100% coverage, and some operators
> (myself included) prefer to decouple the effects of two different version
> upgrades so as to decipher what change causes what effect.
>
> This gets stated on perhaps an annual basis, so perhaps we should start
> having these conversations on wiki to avoid the repetition.
>
>
>
> On 20 May 2025, at 16:37, Jon Haddad <j...@rustyrazorblade.com> wrote:
>
> 
> There’s no “leaving users in the lurch” by requiring JDK upgrades.
>
> If users are using containers (pretty much everyone i talk to) then the
> JDK is included, versions don’t matter.
>
> If not, every modern Linux distro supports multiple installed JDKS. Again,
> not a problem.
>
> So far the only convincing argument I’ve heard is that we need overlapping
> versions because of in-JVM dtests. Which is a shame, but sounds unavoidable
> without a massive change that I’m sure nobody is interested in.
>
> Let’s not pretend like we’re doing this for the users though, they aren’t
> getting any benefit from it.
>
> Jon
>
>
> On Tue, May 20, 2025 at 8:12 AM Josh McKenzie <jmcken...@apache.org>
> wrote:
>
>> This came up in the release versioning thread and we punted to its own
>> thread.
>>
>> *Topic: How do we want to handle JDK version support in C* releases?*
>>
>> Oracle LTS policy here:
>> https://www.oracle.com/java/technologies/java-se-support-roadmap.html
>>
>> My first rough thoughts:
>>
>>    1. Any given C* release will only support 2 JDK / JRE at any given
>>    time
>>    2. We only change JDK support on MAJOR releases (i.e. not patch)
>>    3. When we add support for a new JDK, we drop support for the older
>>    in that release
>>       1. Every consecutive release *must share support for a runtime JDK
>>       version with one version older* (this allows for live upgrades,
>>       CI, etc). So if we take a long time releasing C* and multiple JDK's 
>> rev, we
>>       don't jump from [11,17] supported to [21,23] and leave users in a 
>> lurch on
>>       the straddle
>>       4. We confirm C* builds on both supported JDK's
>>    5. We run all test suites against all supported JDK's for a release
>>    (yet more incentive to clean up slow tests..)
>>    6. Language level support will be constrained to oldest JDK supported
>>    7. We make an effort to support the latest LTS JDK on any given C*
>>    release (i.e. 21 now, 25 next major when it goes LTS Sep of this year)
>>
>> The major downside I can think of with the above is operators will need
>> to verify a new JDK maximally once every 2-3 years as older LTS support is
>> dropped.
>>
>> What am I not thinking of? What are other downsides with the above
>> proposal?
>>
>>

Reply via email to