Why is the default value table property dclocal_read_repair_chance = 0.1 in Cassandra?

I went through the Cassandra docs and noticed this property. Naturally, I assumed that the read repair would undoubtedly happen when the read request was sent to Cassandra. Why is the default set to 0.1 and not 1? Also, what would be the consequences of setting 1?

Thank.

+3


source to share


1 answer


Cassandra performs read repairs whenever the read detects inconsistencies between replicas.

If you want cassandra to perform a read fix even after a fully sequential read, you can customize it with dclocal_read_repair_chance

.

dclocal_read_repair_chance:

The likelihood that a sequential read on a table causes a read recovery. It is limited to the same datacenter as the coordinator node.



Cassandra compares and coordinates all replicas, even those that were not available on a successful read.

if you set the parameter dclocal_read_repair_chance

to 1. Then the likelihood of sequential read will lead to read recovery. 1. Thus, every time you make a read request, cassandra starts a read restore, which is very resource intensive.

Recommendations: if the table is for time series data, it can be set to 0 (zero). For other tables, a more efficient strategy is to set dc_local_read_repair_chance to 0.1

Source: http://docs.datastax.com/en/cql/3.1/cql/cql_reference/tabProp.html#tabProp__cql_tabprop_more_read_repairs

+1


source







All Articles