diff --git a/.build/run-tests.sh b/.build/run-tests.sh
index fd6a7da21d..53dfb32867 100755
--- a/.build/run-tests.sh
+++ b/.build/run-tests.sh
@@ -74,16 +74,31 @@ _timeout_for() {
}
_build_all_dtest_jars() {
- pushd $TMP_DIR >/dev/null
- rm -fR ${TMP_DIR}/cassandra-dtest-jars
- until git clone --quiet --depth 1 --no-single-branch https://github.com/apache/cassandra.git cassandra-dtest-jars ; do echo "git clone failed… trying again… " ; done
+
+ # build the dtest-jar for the branch under test. remember to `ant clean` if you want a new dtest jar built
+ dtest_jar_version=$(grep 'property\s*name=\"base.version\"' build.xml |sed -ne 's/.*value=\"\([^"]*\)\".*/\1/p')
+ if [ -f "${DIST_DIR}/dtest-${dtest_jar_version}.jar" ] ; then
+ echo "Skipping dtest jar build for branch under test as ${DIST_DIR}/dtest-${dtest_jar_version}.jar already exists"
+ else
+ ant jar dtest-jar ${ANT_TEST_OPTS} -Dbuild.dir=${TMP_DIR}/cassandra-dtest-jars/build
+ cp "${TMP_DIR}/cassandra-dtest-jars/build/dtest-${dtest_jar_version}.jar" ${DIST_DIR}/
+ fi
+
+ if [ -d ${TMP_DIR}/cassandra-dtest-jars ] && [ "https://github.com/apache/cassandra.git" == "$(git -C ${TMP_DIR}/cassandra-dtest-jars remote get-url origin)" ] ; then
+ until git -C ${TMP_DIR}/cassandra-dtest-jars fetch --quiet origin ; do echo "git pull failed… trying again… " ; done
+ else
+ rm -fR ${TMP_DIR}/cassandra-dtest-jars
+ pushd $TMP_DIR >/dev/null
+ until git clone --quiet --depth 1 --no-single-branch https://github.com/apache/cassandra.git cassandra-dtest-jars ; do echo "git clone failed… trying again… " ; done
+ popd >/dev/null
+ fi
# cassandra-4 branches need CASSANDRA_USE_JDK11 to allow jdk11
[ "${java_version}" -eq 11 ] && export CASSANDRA_USE_JDK11=true
pushd ${TMP_DIR}/cassandra-dtest-jars >/dev/null
- for branch in cassandra-4.0 cassandra-4.1 trunk ; do
- git checkout $branch
+ for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk ; do
+ git checkout --quiet $branch
dtest_jar_version=$(grep 'property\s*name=\"base.version\"' build.xml |sed -ne 's/.*value=\"\([^"]*\)\".*/\1/p')
if [ -f "${DIST_DIR}/dtest-${dtest_jar_version}.jar" ] ; then
echo "Skipping dtest jar build for branch ${branch} as ${DIST_DIR}/dtest-${dtest_jar_version}.jar already exists"
@@ -95,7 +110,6 @@ _build_all_dtest_jars() {
cp "${TMP_DIR}/cassandra-dtest-jars/build/dtest-${dtest_jar_version}.jar" ${DIST_DIR}/
done
popd >/dev/null
- popd >/dev/null
ls -l ${DIST_DIR}/dtest*.jar
unset CASSANDRA_USE_JDK11
}
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 0c247fbc85..52c4b590ee 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -5070,7 +5070,7 @@ jobs:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 trunk; do
+ for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/.circleci/config.yml.FREE b/.circleci/config.yml.FREE
index 0c247fbc85..52c4b590ee 100644
--- a/.circleci/config.yml.FREE
+++ b/.circleci/config.yml.FREE
@@ -5070,7 +5070,7 @@ jobs:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 trunk; do
+ for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/.circleci/config.yml.PAID b/.circleci/config.yml.PAID
index 8e8e89c95c..94519e1353 100644
--- a/.circleci/config.yml.PAID
+++ b/.circleci/config.yml.PAID
@@ -5070,7 +5070,7 @@ jobs:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 trunk; do
+ for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/.circleci/config_template.yml b/.circleci/config_template.yml
index b8ed8cbbcb..92e91daa34 100644
--- a/.circleci/config_template.yml
+++ b/.circleci/config_template.yml
@@ -2901,7 +2901,7 @@ commands:
cd ~/cassandra
mkdir ~/dtest_jars
git remote add apache https://github.com/apache/cassandra.git
- for branch in cassandra-4.0 cassandra-4.1 trunk; do
+ for branch in cassandra-4.0 cassandra-4.1 cassandra-5.0 trunk; do
# check out the correct cassandra version:
git remote set-branches --add apache '$branch'
git fetch --depth 1 apache $branch
diff --git a/NEWS.txt b/NEWS.txt
index 6e986522a7..b642685f79 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -66,6 +66,19 @@ restore snapshots created with the previous major version using the
using the provided 'sstableupgrade' tool.
+5.1
+===
+
+New features
+------------
+
+Upgrading
+---------
+
+Deprecation
+-----------
+
+
5.0
===
diff --git a/build.xml b/build.xml
index 7c7efc0a5d..b36ce1b5c8 100644
--- a/build.xml
+++ b/build.xml
@@ -32,7 +32,7 @@
-
+
diff --git a/debian/changelog b/debian/changelog
index cdb1af9772..4a2fc47012 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-cassandra (5.0) UNRELEASED; urgency=medium
+cassandra (5.1) UNRELEASED; urgency=medium
* New release
diff --git a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
index 73e92dd423..a7b23ce5ce 100644
--- a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
+++ b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactionHistorySystemTableUpgradeTest.java
@@ -19,36 +19,18 @@
package org.apache.cassandra.distributed.upgrade;
import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
+import org.junit.Test;
-import com.vdurmont.semver4j.Semver;
import org.apache.cassandra.db.compaction.OperationType;
import org.apache.cassandra.distributed.api.ConsistencyLevel;
import org.apache.cassandra.tools.ToolRunner;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-import java.util.ArrayList;
-
import static org.apache.cassandra.db.compaction.CompactionHistoryTabularData.COMPACTION_TYPE_PROPERTY;
import static org.apache.cassandra.tools.ToolRunner.invokeNodetoolJvmDtest;
import static org.apache.cassandra.tools.nodetool.CompactionHistoryTest.assertCompactionHistoryOutPut;
-@RunWith(Parameterized.class)
public class CompactionHistorySystemTableUpgradeTest extends UpgradeTestBase
{
- @Parameter
- public Semver version;
-
- @Parameters()
- public static ArrayList versions()
- {
- return Lists.newArrayList(v30, v3X, v40, v41);
- }
@Test
public void compactionHistorySystemTableTest() throws Throwable
@@ -56,7 +38,9 @@ public class CompactionHistorySystemTableUpgradeTest extends UpgradeTestBase
new TestCase()
.nodes(1)
.nodesToUpgrade(1)
- .upgradesToCurrentFrom(version)
+ // all upgrades from v40 to current, excluding v50 -> v51
+ .singleUpgradeToCurrentFrom(v40)
+ .singleUpgradeToCurrentFrom(v41)
.setup((cluster) -> {
//create table
cluster.schemaChange("CREATE TABLE " + KEYSPACE + ".tb (" +
diff --git a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTest.java b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTest.java
index 49ad956e07..fed751e26e 100644
--- a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTest.java
+++ b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeTTLOverflowUpgradeTest.java
@@ -119,7 +119,9 @@ public class MixedModeTTLOverflowUpgradeTest extends UpgradeTestBase
new TestCase()
.nodes(2)
.nodesToUpgradeOrdered(1, 2)
- .upgradesToCurrentFrom(v40)
+ // all upgrades from v40 to current, excluding v50 -> v51
+ .singleUpgradeToCurrentFrom(v40)
+ .singleUpgradeToCurrentFrom(v41)
.setup(cluster -> {
cluster.schemaChange(withKeyspace("CREATE TABLE %s.t (k int PRIMARY KEY, v int)"));
diff --git a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
index 295ffd2987..4c559c2eef 100644
--- a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
+++ b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeWritetimeOrTTLTest.java
@@ -45,7 +45,9 @@ public class MixedModeWritetimeOrTTLTest extends UpgradeTestBase
new TestCase()
.nodes(2)
.nodesToUpgradeOrdered(1, 2)
- .upgradesToCurrentFrom(v30)
+ // all upgrades from v40 to current, excluding v50 -> v51
+ .singleUpgradeToCurrentFrom(v40)
+ .singleUpgradeToCurrentFrom(v41)
.setup(cluster -> {
ICoordinator coordinator = cluster.coordinator(1);
diff --git a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
index 3f8f4d47c8..5ee8780204 100644
--- a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
+++ b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
@@ -92,6 +92,7 @@ public class UpgradeTestBase extends DistributedTestBase
public static final Semver v40 = new Semver("4.0-alpha1", SemverType.LOOSE);
public static final Semver v41 = new Semver("4.1-alpha1", SemverType.LOOSE);
public static final Semver v50 = new Semver("5.0-alpha1", SemverType.LOOSE);
+ public static final Semver v51 = new Semver("5.1-alpha1", SemverType.LOOSE);
protected static final SimpleGraph SUPPORTED_UPGRADE_PATHS = new SimpleGraph.Builder()
.addEdge(v30, v3X)
@@ -101,7 +102,10 @@ public class UpgradeTestBase extends DistributedTestBase
.addEdge(v3X, v41)
.addEdge(v40, v41)
.addEdge(v40, v50)
+ .addEdge(v40, v51)
.addEdge(v41, v50)
+ .addEdge(v41, v51)
+ .addEdge(v50, v51)
.build();
// the last is always the current