Increasing RF will result in nodes that previously didn't have a replica of
the data now being responsible for it. This means that a repair is required
after increasing the RF.

Until the repair completes you will suffer from inconsistencies in data.
For example, in a 3 node cluster with RF 2, nodes A, B and C. A and B could
be responsible for the 2 replicas of row x. As soon as you increase the RF
to 3, C will also be responsible for x and thus can also answer queries
requesting x. But until row x is repaired and present on C, a request for x
against C will return no data.

If you are looking to increase RF on a live production system you should
perform a datacenter migration and increase the RF to 3 only on the new
datacenter, switching your clients across after rebuild+repair on the new
DC.

allocate_tokens_for_local_replication_factor is a DSE configuration
property. allocate_tokens_for_keyspace is the equivalent in Apache
Cassandra. This option is not related to RF changes so shouldn't be
necessary, however might not be a bad idea to research its usage if you are
planning on scaling to many nodes in the future.

Reply via email to