I'd like us to invest in unit tests and make them the contract guards.
>

Thank you Jacek.


In the end, I feel we strayed off the topic a bit - my question was quite
> concrete - I'd like to remove the CASSANDRA_USE_JDK11 knob for CCM - it
> should set it appropriately for Cassandra 4 so that the CCM user does not
> have to bother. However, CCM should not use it to decide which Java version
> to use.
>

+1

But note, this will be a breaking change for consumers still using
CASSANDRA_USE_JDK11 as a way to use jdk11 over jdk8.


> I'm unaware of any release cycle of CCM versions anywhere. Perhaps we
> should do the following - tag a new version before the change and then add
> the proposed change.
>

CCM does have versions.  We should be using them more (releasing, and
pinning explicit versions in the different requirements.txt instead of
using the cassandra-test tag).

The current version is 3.1.6
Maybe we can push a release of that so folk can pin it, and make these
changes after that in a 3.2
And once ccm is donated we start at 4.0.0



> There are also other problems related to env setup - for example, when a
> user or the dtest framework wants to force a certain Java version, it is
> honored only for running a Cassandra node - it is not applied for running
> nodetool or any other command line tool. Therefore, there is a broader
> question about when the explicit Java version should be set - it feels like
> the correct approach would be to set it up when a node is created rather
> than when it is started so that the selection applies to running the server
> and all the commands.
>

+1


What I would like to see is hardcoding of jdk versions removed from ccm.
Today there's too many places where we have to touch code when a new C*
version supports a new jdk.  When it's only about the version number it's a
bit nuts.  We can't fix this for older C* versions, but from 5.1 we can now
detect supported jdks whether it's the source or a binary.

Reply via email to