diff --git a/driver-core/src/test/java/com/datastax/driver/core/CCMBridge.java b/driver-core/src/test/java/com/datastax/driver/core/CCMBridge.java index 62f674a8852..80d461aa5e5 100644 --- a/driver-core/src/test/java/com/datastax/driver/core/CCMBridge.java +++ b/driver-core/src/test/java/com/datastax/driver/core/CCMBridge.java @@ -258,6 +258,14 @@ public class CCMBridge implements CCMAccess { GLOBAL_DSE_VERSION_NUMBER, GLOBAL_CASSANDRA_VERSION_NUMBER, CASSANDRA_INSTALL_ARGS); + } else if (GLOBAL_SCYLLA_VERSION_NUMBER != null) { + GLOBAL_CASSANDRA_VERSION_NUMBER = VersionNumber.parse(inputCassandraVersion); + GLOBAL_DSE_VERSION_NUMBER = null; + logger.info( + "Tests requiring CCM will by default use Scylla version {} and report Cassandra version {} when asked specifically for it (install arguments: {})", + GLOBAL_SCYLLA_VERSION_NUMBER, + GLOBAL_CASSANDRA_VERSION_NUMBER, + CASSANDRA_INSTALL_ARGS); } else { GLOBAL_CASSANDRA_VERSION_NUMBER = VersionNumber.parse(inputCassandraVersion); GLOBAL_DSE_VERSION_NUMBER = null; @@ -358,6 +366,10 @@ private static VersionNumber parseScyllaInputVersion(String versionString) { "Failed to parse scylla.version: " + versionString + ". Trying to get it through CCM.", e); parsedScyllaVersionNumber = getScyllaVersionThroughCcm(versionString); + logger.info( + String.format( + "Version string %s corresponds here to version number %s", + versionString, parsedScyllaVersionNumber)); } return parsedScyllaVersionNumber; } diff --git a/driver-core/src/test/java/com/datastax/driver/core/StateListenerTest.java b/driver-core/src/test/java/com/datastax/driver/core/StateListenerTest.java index ab574d8a4f4..9d4f1e50cad 100644 --- a/driver-core/src/test/java/com/datastax/driver/core/StateListenerTest.java +++ b/driver-core/src/test/java/com/datastax/driver/core/StateListenerTest.java @@ -53,10 +53,12 @@ public void should_receive_events_when_node_states_change() throws InterruptedEx listener.waitForEvent(); // Different expectation for Scylla versions since 6.0.0 and 2024.2, both included + VersionNumber minOss = VersionNumber.parse("6.0.0"); + VersionNumber minEnterprise = VersionNumber.parse("2024.2"); VersionNumber scyllaVer = ccm().getScyllaVersion(); - if (scyllaVer != null - && ((scyllaVer.getMajor() >= 6 && scyllaVer.getMajor() <= 9) - || (scyllaVer.getMajor() >= 2024 && scyllaVer.getMinor() >= 2))) { + boolean isEnterprise = scyllaVer.getMajor() >= 2017; + if ((isEnterprise && scyllaVer.compareTo(minEnterprise) >= 0) + || (!isEnterprise && scyllaVer.compareTo(minOss) >= 0)) { listener.setExpectedEvent(DOWN); } else { listener.setExpectedEvent(REMOVE);