DataStax Help Center

DSE "EverywhereStrategy" is not understood by Apache Cassandra (non-DSE) nodes and can cause restart failures


The recommended procedure to upgrade from Open Source Apache Cassandra (COSS) to DSE is to create a new cluster and stream the data across. However, if a DSE node is added into a COSS cluster there may be issues restarting any of the COSS nodes.


The cluster will appear to function ok but when a COSS node restart is attempted the following error may be observed

ERROR [main] 2016-02-26 12:08:26,197 - Exception encountered during startup 
java.lang.RuntimeException: org.apache.cassandra.exceptions.ConfigurationException: Unable to find replication strategy class 'org.apache.cassandra.locator.EverywhereStrategy' 


DSE uses a default replication strategy of "EverywhereStrategy" for the dse_system keyspace. This is propagated into the cluster's schema when the DSE node is added and makes its way into the system.schema* tables. Upon restarting the COSS node will try to read its sstables and error out when it tries to understand this unknown replication strategy


The best approach is to keep the DSE node in the cluster and then alter the replication strategy for the dse_system keyspace to one that is understood by all nodes, for example:

ALTER KEYSPACE dse_system WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1':1 ,'DC2':1};

Afterwards the dse_system keyspace could be removed if so wished


At the time of writing this article there is no permanent solution available. An internal jira has been created to track the issue:

DSP-8794 - EverywhereStrategy "poisons" the schema preventing COSS nodes restarting


Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request


Powered by Zendesk