ScyllaDB / Cassandra higher replication factor than total number of nodes with CL=QUORUM

Viewed 292

Highly appreciate if someone can help with below questions.

*RF= Replication Factor

*CL= Consistency Level

We have requirement of strong Consistency and higher Availability. So, I have been testing RF and CL for 7 nodes ScyllaDB cluster , by keeping RF=7 (100% data on each node) and CL=QUORUM. What will happen to data copy / replication if 2 nodes goes down ? Does it replicate 2 down nodes data (6th & 7th copy) on to remaining 5 nodes? or will it simply discard these copies ? What will be effect of RF=7 when there are only 5 active nodes ?

I could not find anything in logs. Do we have any document/link reference for this case ? Or how can I verify and prove this behaviour? Please explain?

2 Answers

With RF=7, the data is always replicated to 7 nodes. When a node (or two) goes down, the rest of the five nodes already have a copy, and no additional streaming is required.

Using CL=QUORUM, even three nodes down, will not hurt your HA or consistency. When the fail nodes come back to life, they will be sync, either automatically using Hinted Handoff (for a short failure) or with Repair (for longer failure)[1]

If you replace a dead node[2], the other replicas will stream the data to it till it is up to speed with the

[1] https://docs.scylladb.com/architecture/anti-entropy/ [2] https://docs.scylladb.com/operating-scylla/procedures/cluster-management/replace_dead_node/

Data will always replicate to all nodes cause you have set RF=7 if 2 nodes down then remaining nodes will store hints for those nodes once, nodes come up remaining nodes will replicate the data automatically based on hint period.If hint period(default 3 hours) expired then you need to run manual repair to get data sync in the cluster.

Related