Quorum is defined as
(replication_factor / 2) + 1
therefore quorum when rf = 2 is 2! so in your case, both nodes must be up.
Really, using Quorum only starts making sense as a 'quorum' when RF=3
On 07/26/2012 10:38 PM, Yan Chunlu wrote:
> I am using Cassandra 1.0.2, have a 3 nodes cluster. the consistency
> level of read & write are both QUORUM.
>
> At first the RF=1, and I figured that one node down will cause the
> cluster unusable. so I changed RF to 2, and run nodetool repair on
> every node(actually I did it twice).
>
> After the operation I think my data should be in at least two nodes,
> and it would be okay if one of them is down.
> But when I tried to simulate the failure, by disablegossip of one
> node, and the cluster knows this node is down. then access data from
> the cluster, it returned "MaximumRetryException"(pycassa). as my
> experiences this is caused by "UnavailableException", which is means
> the data it is requesting is on a node which is down.
>
> so I wonder my data might not be replicated right, what should I do?
> thanks for the help!
>
> here is the keyspace info:
>
> /
> /
> /Keyspace: comments:/
> / Replication Strategy: org.apache.cassandra.locator.SimpleStrategy/
> / Durable Writes: true/
> / Options: [replication_factor:2]/
>
>
>
> the scheme version is okay:
>
> /[default@unknown] describe cluster;/
> /Cluster Information:/
> / Snitch: org.apache.cassandra.locator.SimpleSnitch/
> / Partitioner: org.apache.cassandra.dht.RandomPartitioner/
> / Schema versions: /
> /f67d0d50-b923-11e1-0000-4f7cf9240aef: [192.168.1.129, 192.168.1.40,
> 192.168.1.50]/
>
>
>
> the loads are as below:
>
> /nodetool -h localhost ring/
> /Address DC Rack Status State Load
> Owns Token /
> /
> 113427455640312821154458202477256070484 /
> /192.168.1.50 datacenter1 rack1 Up Normal 28.77 GB
> 33.33% 0 /
> /192.168.1.40 datacenter1 rack1 Up Normal 26.67 GB
> 33.33% 56713727820156410577229101238628035242 /
> /192.168.1.129 datacenter1 rack1 Up Normal 33.25 GB
> 33.33% 113427455640312821154458202477256070484 /
|