Thanks Romain !! So just to clarify, you are suggesting following steps: 10 AM Daily Snapshot taken of node A and moved to backup location 11 AM A record is inserted such that node A and B insert the record but there is a mutation drop on node C. 1 PM Node A crashes 1 PM Follow following steps to restore the 10 AM snapshot on node A: 1. Restore the data as mentioned in https://docs.datastax.com/en/cassandra/2.0/cassandra/operations/ops_backup_snapshot_restore_t.html with ONE EXCEPTION >> start node A with -Dcassandra.join_ring=false . 2. Run repair 3. Retstart the node A with -Dcassandra.join_ring=true
Please confirm. I was not aware that join_ring can also be used using a normal reboot. I thought it was only an option during autobootstrap :) Thanks Anuj -------------------------------------------- On Tue, 26/4/16, Romain Hardouin <romainh...@yahoo.fr> wrote: Subject: Re: Inconsistent Reads after Restoring Snapshot To: "user@cassandra.apache.org" <user@cassandra.apache.org> Date: Tuesday, 26 April, 2016, 12:47 PM You can make a restore on the new node A (don't forget to set the token(s) in cassandra.yaml), start the node with -Dcassandra.join_ring=false and then run a repair on it. Have a look at https://issues.apache.org/jira/browse/CASSANDRA-6961 Best, Romain Le Mardi 26 avril 2016 4h26, Anuj Wadehra <anujw_2...@yahoo.co.in> a écrit : Hi, We have 2.0.14. We use RF=3 and read/write at Quorum. Moreover, we dont use incremental backups. As per the documentation at , if i need to restore a Snapshot on SINGLE node in a cluster, I would run repair at the end. But while the repair is going on, reads may get inconsistent. Consider following scenario:10 AM Daily Snapshot taken of node A and moved to backup location11 AM A record is inserted such that node A and B insert the record but there is a mutation drop on node C.1 PM Node A crashes and data is restored from latest 10 AM snapshot. Now, only Node B has the record. Now, my question is: Till the repair is completed on node A,a read at Quorum may return inconsistent result based on the nodes from which data is read.If data is read from node A and node C, nothing is returned and if data is read from node A and node B, record is returned. This is a vital point which is not highlighted anywhere. Please confirm my understanding.If my understanding is right, how to make sure that my reads are not inconsistent while a node is being repair after restoring a snapshot. I think, autobootstrapping the node without joining the ring till the repair is completed, is an alternative option. But snapshots save lot of streaming as compared to bootstrap. Will incremental backups guarantee that ThanksAnuj Sent from Yahoo Mail on Android