You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by ankit tyagi <an...@gmail.com> on 2015/04/08 06:36:34 UTC

Read Repair in cassandra

Hi All,

I have a doubt regarding read repair while reading data. I and  using
QUORUM for both read and write operations with RF 3 for strong consistency

suppose while write data node1 and node2 replicate the data but it doesn't
get replicate on node3 because of various factors. coordinator node will
save hinted handoff for node3.

now read request comes, if at the time node2 gets down, so data will be
served from node1 and node3. node3 may return older data as hinted handoff
may not be run from coordinator nofr.

*In that case read request will fail as only 1 node has the latest data or
latest data will get returned from node1 and read repair request will be
fired for node3?*

RE: Read Repair in cassandra

Posted by Jan Karlsson <ja...@ericsson.com>.
The request would return with the latest data.

The read request would fire against node 1 and node 3. The coordinator would get answers from both and would merge the answers and return the latest.

Then read repair might run to update node 3.

QUORUM does not take into consideration whether an answer is the latest or not. It just makes sure a QUORUM of nodes reply.

From: ankit tyagi [mailto:ankittyagi.mnnit@gmail.com]
Sent: April 08, 2015 6:37 AM
To: user@cassandra.apache.org
Subject: Read Repair in cassandra

Hi All,

I have a doubt regarding read repair while reading data. I and  using QUORUM for both read and write operations with RF 3 for strong consistency

suppose while write data node1 and node2 replicate the data but it doesn't get replicate on node3 because of various factors. coordinator node will save hinted handoff for node3.

now read request comes, if at the time node2 gets down, so data will be served from node1 and node3. node3 may return older data as hinted handoff may not be run from coordinator nofr.

In that case read request will fail as only 1 node has the latest data or latest data will get returned from node1 and read repair request will be fired for node3?