cassandracassandra-2.2

Unable to find sufficient sources for streaming range in keyspace


I have to add new Cassandra Datacenter in other regions . Now the problem here is the previous Datacenter is on 2.2.9 version and I have created new nodes in new datacenter is on 2.2.11.

On the nodetool rebuild all the new nodes of new datacenter gets failed with error

Unable to find sufficient sources for streaming range in keyspace.

Even this error caused for system keyspaces like system,system_traces ,system_distributed).

This system keyspaces are on SimpleStrategy.

For searching about this issues i found that everyone is talking about change the strategy to NetworkTopology .

But ,If i don't want to keep replicas on all datacenter then why should i change the topology(strategy) .

In the previous version of Cassandra I had never saw such kind of restriction .

To avoid or ignore this issue on nodetool rebuild people are saying to add

-Dcassandra.consistent.rangemovement=false

But for addition of every new nodes is this required ?

What would be affect of this for other keyspaces on rebuild command .


Solution

  • System tables by default comes up with "SimpleStrategy". Any keyspace with SimpleStrategy works fine for Single DataCenter Cassandra cluster ONLY.

    NetworkTopology is required and recommended for multi-DC clusters. System keyspaces like system_auth and system_distributed are recommended to be altered to NetworkTopology strategy with replication factor more than 1 (ideal 3) and also replicated to all DC involved in the cluster.

    The application keyspace may or may be replicated to other DC. But there is no harm in changing their replication strategy to NetworkTopology and replicate to only one DC.