Skip to content

Commit f7fc5b6

Browse files
Bouncheckavelanarius
authored andcommitted
Pass differently parsed Scylla version during ccm creation
Version.parse automatically fills patch number as 0 if not present. This leads to some problems with ccm when setup with (e.g.) 5.0-rcX version. This change makes method returning version string remove patch number back when dealing with such version number.
1 parent 2a4c52a commit f7fc5b6

File tree

1 file changed

+11
-1
lines changed
  • test-infra/src/main/java/com/datastax/oss/driver/api/testinfra/ccm

1 file changed

+11
-1
lines changed

test-infra/src/main/java/com/datastax/oss/driver/api/testinfra/ccm/CcmBridge.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,17 @@ public Version getCassandraVersion() {
244244

245245
private String getCcmVersionString(Version version) {
246246
if (SCYLLA_ENABLEMENT) {
247-
return "release:" + version.toString();
247+
// It seems that Scylla versions like 5.0-rc2 cannot be passed to CCM create options as
248+
// 5.0.0-rc2,
249+
// so we remove patch number from here.
250+
// Likewise, 2022.1.0-rc8 will be returned as 2022.1.rc8
251+
String versionString = version.toString();
252+
if (String.valueOf(version.getMajor()).matches("\\d{4}")) {
253+
versionString = versionString.replace(".0-", ".");
254+
} else {
255+
versionString = versionString.replace(".0-", "-");
256+
}
257+
return "release:" + versionString;
248258
}
249259
// for 4.0 pre-releases, the CCM version string needs to be "4.0-alpha1" or "4.0-alpha2"
250260
// Version.toString() always adds a patch value, even if it's not specified when parsing.

0 commit comments

Comments
 (0)