This is an automated email from the ASF dual-hosted git repository.
maedhroz pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new 302c6fc Update SUPPORTED_UPGRADE_PATHS to include 3.0 and 3.x to 4.1
paths and remove obsolete tests
302c6fc is described below
commit 302c6fcf59c5fa9fcd475b2c811ad57ae7c45f49
Author: Caleb Rackliffe <[email protected]>
AuthorDate: Thu Mar 10 17:12:47 2022 -0600
Update SUPPORTED_UPGRADE_PATHS to include 3.0 and 3.x to 4.1 paths and
remove obsolete tests
patch by Caleb Rackliffe; reviewed by Mick Semb Wever for CASSANDRA-17362
---
CHANGES.txt | 1 +
.../upgrade/MixedModeAvailabilityV22Test.java | 41 ---------
.../upgrade/MixedModeConsistencyV22Test.java | 41 ---------
.../upgrade/MixedModeFrom2LoggedBatchTest.java | 38 ---------
.../upgrade/MixedModeFrom2ReplicationTest.java | 38 ---------
.../upgrade/MixedModeFrom2UnloggedBatchTest.java | 38 ---------
.../cassandra/distributed/upgrade/PagingTest.java | 96 ----------------------
.../ReadRepairCompactStorageUpgradeTest.java | 57 -------------
.../distributed/upgrade/UpgradeTestBase.java | 10 +--
9 files changed, 4 insertions(+), 356 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index 8ed2fcf..09f352c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
4.1
+ * Update SUPPORTED_UPGRADE_PATHS to include 3.0 and 3.x to 4.1 paths and
remove obsolete tests (CASSANDRA-17362)
* Support DELETE in CQLSSTableWriter (CASSANDRA-14797)
* Failed inbound internode authentication failures generate ugly warning with
stack trace (CASSANDRA-17068)
* Expose gossip information in system_views.gossip_info virtual table
(CASSANDRA-17002)
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeAvailabilityV22Test.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeAvailabilityV22Test.java
deleted file mode 100644
index f756574..0000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeAvailabilityV22Test.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.shared.Versions;
-
-/**
- * {@link MixedModeAvailabilityTestBase} for upgrades from v22.
- */
-public class MixedModeAvailabilityV22Test extends MixedModeAvailabilityTestBase
-{
- @Test
- public void testAvailabilityV22ToV30() throws Throwable
- {
- testAvailability(v22, v30);
- }
-
- @Test
- public void testAvailabilityV22ToV3X() throws Throwable
- {
- testAvailability(v22, v3X);
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeConsistencyV22Test.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeConsistencyV22Test.java
deleted file mode 100644
index deb0863..0000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeConsistencyV22Test.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.shared.Versions;
-
-/**
- * {@link MixedModeConsistencyTestBase} for upgrades from v22.
- */
-public class MixedModeConsistencyV22Test extends MixedModeConsistencyTestBase
-{
- @Test
- public void testConsistencyV22ToV30() throws Throwable
- {
- testConsistency(v22, v30);
- }
-
- @Test
- public void testConsistencyV22ToV3X() throws Throwable
- {
- testConsistency(v22, v3X);
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2LoggedBatchTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2LoggedBatchTest.java
deleted file mode 100644
index 3835521..0000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2LoggedBatchTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.shared.Versions;
-
-public class MixedModeFrom2LoggedBatchTest extends MixedModeBatchTestBase
-{
- @Test
- public void testSimpleStrategy22to30() throws Throwable
- {
- testSimpleStrategy(v22, v30, true);
- }
-
- @Test
- public void testSimpleStrategy22to3X() throws Throwable
- {
- testSimpleStrategy(v22, v3X, true);
- }
-}
\ No newline at end of file
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2ReplicationTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2ReplicationTest.java
deleted file mode 100644
index ea56415..0000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2ReplicationTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.shared.Versions;
-
-public class MixedModeFrom2ReplicationTest extends MixedModeReplicationTestBase
-{
- @Test
- public void testSimpleStrategy22to30() throws Throwable
- {
- testSimpleStrategy(v22, v30);
- }
-
- @Test
- public void testSimpleStrategy22to3X() throws Throwable
- {
- testSimpleStrategy(v22, v3X);
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2UnloggedBatchTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2UnloggedBatchTest.java
deleted file mode 100644
index 4f4b722..0000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/MixedModeFrom2UnloggedBatchTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.shared.Versions;
-
-public class MixedModeFrom2UnloggedBatchTest extends MixedModeBatchTestBase
-{
- @Test
- public void testSimpleStrategy22to30() throws Throwable
- {
- testSimpleStrategy(v22, v30, false);
- }
-
- @Test
- public void testSimpleStrategy22to3X() throws Throwable
- {
- testSimpleStrategy(v22, v3X, false);
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/PagingTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/PagingTest.java
deleted file mode 100644
index 30e248d..0000000
--- a/test/distributed/org/apache/cassandra/distributed/upgrade/PagingTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.junit.Test;
-
-import com.datastax.driver.core.ProtocolVersion;
-import com.datastax.driver.core.QueryOptions;
-import com.datastax.driver.core.ResultSet;
-import com.datastax.driver.core.Row;
-import com.datastax.driver.core.Session;
-import com.datastax.driver.core.SimpleStatement;
-import com.datastax.driver.core.Statement;
-import org.apache.cassandra.distributed.api.ConsistencyLevel;
-import org.apache.cassandra.distributed.shared.DistributedTestBase;
-import org.apache.cassandra.distributed.shared.Versions;
-
-import static org.apache.cassandra.distributed.api.Feature.GOSSIP;
-import static org.apache.cassandra.distributed.api.Feature.NATIVE_PROTOCOL;
-import static org.apache.cassandra.distributed.api.Feature.NETWORK;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class PagingTest extends UpgradeTestBase
-{
- @Test
- public void testReads() throws Throwable
- {
- new UpgradeTestBase.TestCase()
- .nodes(2)
- .upgrades(v22, v30)
- .nodesToUpgrade(2)
- .withConfig(config -> config.with(GOSSIP, NETWORK, NATIVE_PROTOCOL))
- .setup((cluster) -> {
- cluster.disableAutoCompaction(DistributedTestBase.KEYSPACE);
- cluster.schemaChange("CREATE TABLE " +
DistributedTestBase.KEYSPACE + ".tbl (pk int, ck int, v text, PRIMARY KEY (pk,
ck)) ");
- for (int j = 0; j < 5000; j++)
- {
- for (int i = 0; i < 10; i++)
- cluster.coordinator(1).execute("insert into " +
DistributedTestBase.KEYSPACE + ".tbl (pk, ck, v) VALUES (" + j + ", " + i + ",
'hello')", ConsistencyLevel.ALL);
- }
- cluster.forEach(c -> c.flush(DistributedTestBase.KEYSPACE));
- checkDuplicates("BOTH ON 2.2");
- })
- .runAfterClusterUpgrade((cluster) -> checkDuplicates("MIXED MODE"))
- .run();
- }
-
- private void checkDuplicates(String message) throws InterruptedException
- {
- Thread.sleep(5000); // sometimes one node doesn't have time come up
properly?
- try (com.datastax.driver.core.Cluster c =
com.datastax.driver.core.Cluster.builder()
-
.addContactPoint("127.0.0.1")
-
.withProtocolVersion(ProtocolVersion.V3)
-
.withQueryOptions(new QueryOptions().setFetchSize(101))
-
.build();
- Session s = c.connect())
- {
- Statement stmt = new SimpleStatement("select distinct token(pk)
from " + DistributedTestBase.KEYSPACE + ".tbl WHERE token(pk) > " +
Long.MIN_VALUE + " AND token(pk) < " + Long.MAX_VALUE);
-
stmt.setConsistencyLevel(com.datastax.driver.core.ConsistencyLevel.ALL);
- ResultSet res = s.execute(stmt);
- Set<Object> seenTokens = new HashSet<>();
- Iterator<Row> rows = res.iterator();
- Set<Object> dupes = new HashSet<>();
- while (rows.hasNext())
- {
- Object token = rows.next().getObject(0);
- if (seenTokens.contains(token))
- dupes.add(token);
- seenTokens.add(token);
- }
- assertEquals(message+": too few rows", 5000, seenTokens.size());
- assertTrue(message+": dupes is not empty", dupes.isEmpty());
- }
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/ReadRepairCompactStorageUpgradeTest.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/ReadRepairCompactStorageUpgradeTest.java
deleted file mode 100644
index 5567d40..0000000
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/ReadRepairCompactStorageUpgradeTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.cassandra.distributed.upgrade;
-
-import org.junit.Test;
-
-import org.apache.cassandra.distributed.api.ConsistencyLevel;
-import org.apache.cassandra.distributed.shared.Versions;
-
-public class ReadRepairCompactStorageUpgradeTest extends UpgradeTestBase
-{
- /**
- * Tests {@code COMPACT STORAGE} behaviour with mixed replica versions.
- * <p>
- * See CASSANDRA-15363 for further details.
- */
- @Test
- public void mixedModeReadRepairCompactStorage() throws Throwable
- {
- new TestCase()
- .nodes(2)
- .upgrades(v22, v3X)
- .setup((cluster) -> cluster.schemaChange(withKeyspace("CREATE TABLE
%s.tbl" +
- " (pk ascii, b
boolean, v blob, PRIMARY KEY (pk))" +
- " WITH COMPACT
STORAGE")))
- .runAfterNodeUpgrade((cluster, node) -> {
- if (node != 1)
- return;
- // now node1 is 3.0/3.x and node2 is 2.2
- // make sure 2.2 side does not get the mutation
- cluster.get(1).executeInternal(withKeyspace("DELETE FROM %s.tbl
WHERE pk = ?"), "something");
- // trigger a read repair
- cluster.coordinator(2).execute(withKeyspace("SELECT * FROM %s.tbl
WHERE pk = ?"),
- ConsistencyLevel.ALL,
- "something");
- cluster.get(2).flush(KEYSPACE);
- })
- .runAfterClusterUpgrade((cluster) ->
cluster.get(2).forceCompact(KEYSPACE, "tbl"))
- .run();
- }
-}
diff --git
a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
index ce0d8e9..5c32fcd 100644
---
a/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
+++
b/test/distributed/org/apache/cassandra/distributed/upgrade/UpgradeTestBase.java
@@ -44,14 +44,11 @@ import
org.apache.cassandra.distributed.shared.DistributedTestBase;
import org.apache.cassandra.distributed.shared.ThrowingRunnable;
import org.apache.cassandra.distributed.shared.Versions;
import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
import static org.apache.cassandra.distributed.shared.Versions.Version;
import static org.apache.cassandra.distributed.shared.Versions.find;
-
-
public class UpgradeTestBase extends DistributedTestBase
{
private static final Logger logger =
LoggerFactory.getLogger(UpgradeTestBase.class);
@@ -85,18 +82,17 @@ public class UpgradeTestBase extends DistributedTestBase
public void run(UpgradeableCluster cluster, int node) throws Throwable;
}
- public static final Semver v22 = new Semver("2.2.0-beta1",
SemverType.LOOSE);
public static final Semver v30 = new Semver("3.0.0-alpha1",
SemverType.LOOSE);
public static final Semver v3X = new Semver("3.11.0", SemverType.LOOSE);
public static final Semver v40 = new Semver("4.0-alpha1",
SemverType.LOOSE);
public static final Semver v41 = new Semver("4.1-alpha1",
SemverType.LOOSE);
protected static final List<Pair<Semver,Semver>> SUPPORTED_UPGRADE_PATHS =
ImmutableList.of(
- Pair.create(v22, v30),
- Pair.create(v22, v3X),
Pair.create(v30, v3X),
Pair.create(v30, v40),
+ Pair.create(v30, v41),
Pair.create(v3X, v40),
+ Pair.create(v3X, v41),
Pair.create(v40, v41));
// the last is always the current
@@ -267,7 +263,7 @@ public class UpgradeTestBase extends DistributedTestBase
protected TestCase allUpgrades(int nodes, int... toUpgrade)
{
return new TestCase().nodes(nodes)
- .upgradesFrom(v22)
+ .upgradesFrom(v30)
.nodesToUpgrade(toUpgrade);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]