Hi Peter, Thank you for your explanations. Even with a RF=1 and one node down I don't understand why I can't at least read the data in the nodes that are still up? Also, why can't I at least perform writes with consistency level ANY and failover policy ON_FAIL_TRY_ALL_AVAILABLE...shouldn't the nodes that are up be able to take in the writes destined for the node that is down and perform hinted handoffs when it comes back again? Unless by construction Cassandra behaves in the way you describe (which is perfectly fine and I will use it that way from now on) it would be logical for the RF=1 to not affect the behaviour I expect from just reading the top level descriptions of Cassandra behaviour I found in the documentation.
Cheers, Alex On Fri, Oct 28, 2011 at 10:58 AM, Peter Schuller < peter.schul...@infidyne.com> wrote: > > If you want to survive node failures, use an RF above 1. And then make > > sure to use an appropriate consistency level. > > To elaborate a bit: RF, or replication factor, is the *total* number > of copies of any piece of data in the cluster. So with only one copy, > the data will not be available when a single node is down. > > Consistency levels control how many nodes are required to respond to > requests before it is considered successful, and this has implications > on availability. For example, if you want to survive a single node > going down and you use RF=2, you must use ConsistencyLevel.ONE. If you > used QUORUM or ALL, any read or write would fail (QUORUM of 2 is 2). > > Probably a common setup is to use RF=3 because it allows you to > survive a node going down, while also allowing you to use QUORUM. But, > whether that matters will be up to your use-case. > > -- > / Peter Schuller (@scode, http://worldmodscode.wordpress.com) > -- Alexandru Dan Sicoe MEng, CERN Marie Curie ACEOLE Fellow