Use a more informative message when rejecting OldNetworkTopologyStrategy

patch by Benjamin Lerer; reviewed by Erick Ramirez for CASSANDRA-16301

The patch also add an entry to NEWS.txt in the upgrade section to warn
people using the OldNetworkTopologyStrategy
This commit is contained in:
Benjamin Lerer 2020-11-26 10:37:55 +01:00
parent c5021801a6
commit 47278ae376
3 changed files with 47 additions and 41 deletions

View File

@ -3,10 +3,10 @@ jobs:
j8_jvm_upgrade_dtests:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 1
parallelism: 4
steps:
- attach_workspace:
at: /home/cassandra
@ -94,10 +94,10 @@ jobs:
j8_cqlsh-dtests-py2-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -174,7 +174,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -263,10 +263,10 @@ jobs:
j8_cqlsh-dtests-py38-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -340,10 +340,10 @@ jobs:
j11_cqlsh-dtests-py3-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -418,10 +418,10 @@ jobs:
j11_cqlsh-dtests-py3-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -496,10 +496,10 @@ jobs:
j11_cqlsh-dtests-py38-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -574,10 +574,10 @@ jobs:
j8_cqlsh-dtests-py3-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -651,10 +651,10 @@ jobs:
j8_cqlsh-dtests-py2-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -728,10 +728,10 @@ jobs:
j11_cqlsh-dtests-py2-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -806,10 +806,10 @@ jobs:
j11_dtests-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -887,10 +887,10 @@ jobs:
j8_dtests-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -945,10 +945,10 @@ jobs:
j8_upgradetests-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: xlarge
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 100
steps:
- attach_workspace:
at: /home/cassandra
@ -1092,7 +1092,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra
@ -1353,10 +1353,10 @@ jobs:
j11_cqlsh-dtests-py2-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -1468,10 +1468,10 @@ jobs:
j8_dtests-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -1526,10 +1526,10 @@ jobs:
j11_cqlsh-dtests-py38-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -1604,10 +1604,10 @@ jobs:
j8_jvm_dtests:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 1
parallelism: 10
steps:
- attach_workspace:
at: /home/cassandra
@ -1775,10 +1775,10 @@ jobs:
j8_cqlsh-dtests-py3-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -1852,10 +1852,10 @@ jobs:
j8_cqlsh-dtests-py38-with-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11-w-dependencies:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -2055,10 +2055,10 @@ jobs:
j11_dtests-no-vnodes:
docker:
- image: nastra/cassandra-testing-ubuntu1910-java11:20200603
resource_class: medium
resource_class: large
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 50
steps:
- attach_workspace:
at: /home/cassandra
@ -2139,7 +2139,7 @@ jobs:
resource_class: medium
working_directory: ~/
shell: /bin/bash -eo pipefail -l
parallelism: 4
parallelism: 25
steps:
- attach_workspace:
at: /home/cassandra

View File

@ -116,6 +116,8 @@ New features
Upgrading
---------
- Cassandra removed support for the OldNetworkTopologyStrategy. Before upgrading you will need to change the
replication strategy for the keyspaces using this strategy to the NetworkTopologyStrategy. (CASSANDRA-13990)
- Sstables for tables using with a frozen UDT written by C* 3.0 appear as corrupted.
Background: The serialization-header in the -Statistics.db sstable component contains the type information

View File

@ -419,6 +419,10 @@ public abstract class AbstractReplicationStrategy
public static Class<AbstractReplicationStrategy> getClass(String cls) throws ConfigurationException
{
String className = cls.contains(".") ? cls : "org.apache.cassandra.locator." + cls;
if ("org.apache.cassandra.locator.OldNetworkTopologyStrategy".equals(className)) // see CASSANDRA-16301
throw new ConfigurationException("The support for the OldNetworkTopologyStrategy has been removed in C* version 4.0. The keyspace strategy should be switch to NetworkTopologyStrategy");
Class<AbstractReplicationStrategy> strategyClass = FBUtilities.classForName(className, "replication strategy");
if (!AbstractReplicationStrategy.class.isAssignableFrom(strategyClass))
{