[
https://issues.apache.org/jira/browse/CASSANDRA-14270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16381802#comment-16381802
]
Kenneth Brotman edited comment on CASSANDRA-14270 at 3/1/18 10:29 AM:
----------------------------------------------------------------------
h1. Read repair
Read repair occurs when an inconsistency is found amongst the queried replicas
during a read. The purpose of read repair is to actively repair inconsistent
data as it is found. Read repair only affects rows and cells that are read, so
it *should not* be relied upon to "repair" your cluster completely. Manually
run repairs are still necessary to ensure consistent data and avoid zombie data.
To perform a read we issue a data query to the fastest replica, and a digest
query to all the others. Based on the consistency level chosen, we wait for the
desired number of acknowledgements from the replicas and once we receive enough
acknowledgements we compare the digests and data to ensure consistency. If
there is a mismatch between digests we then perform a read repair, which will
update the involved replicas with the latest copy of the data, ensuring both
have the same data. With a consistency level less than {{ALL}} the queried data
from the fastest replica will be returned immediately, and the read repair will
occur in the background. This means that in almost all cases, at most the first
instance of a query will return old data.
*Note:* Only at a consistency level of {{ALL}} will *all* replicas be repaired.
Range scans are not per-key and do not perform read repair. A range scan at CL
> ONE _will_ reconcile differences in replicas required to achieve the given
CL, but extra replicas are not compared in the background and will not be
repaired.
Note: This was written by Kurt Greaves for Issue#14128.
was (Author: kenbrotman):
h1.
[|https://github.com/kgreav/cassandra/blob/f30a7dab7f2871fd4b88352f4b17129c02425484/doc/source/operating/read_repair.rst#read-repair]Read
repair
Read repair occurs when an inconsistency is found amongst the queried replicas
during a read. The purpose of read repair is to actively repair inconsistent
data as it is found. Read repair only affects rows and cells that are read, so
it *should not* be relied upon to "repair" your cluster completely. Manually
run repairs are still necessary to ensure consistent data and avoid zombie data.
To perform a read we issue a data query to the fastest replica, and a digest
query to all the others. Based on the consistency level chosen, we wait for the
desired number of acknowledgements from the replicas and once we receive enough
acknowledgements we compare the digests and data to ensure consistency. If
there is a mismatch between digests we then perform a read repair, which will
update the involved replicas with the latest copy of the data, ensuring both
have the same data. With a consistency level less than {{ALL}} the queried data
from the fastest replica will be returned immediately, and the read repair will
occur in the background. This means that in almost all cases, at most the first
instance of a query will return old data.
*Note:* Only at a consistency level of {{ALL}} will *all* replicas be repaired.
Range scans are not per-key and do not perform read repair. A range scan at CL
> ONE _will_ reconcile differences in replicas required to achieve the given
CL, but extra replicas are not compared in the background and will not be
repaired.
Note: This was written by Kurt Greaves for Issue#14128.
> The Read repair web page is empty
> ---------------------------------
>
> Key: CASSANDRA-14270
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14270
> Project: Cassandra
> Issue Type: Improvement
> Components: Documentation and Website
> Reporter: Kenneth Brotman
> Priority: Major
>
> [http://cassandra.apache.org/doc/latest/operating/read_repair.html]
> is empty. Please contribute content. Myself or someone else will take it
> from there.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]