incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Colby <jonathan.co...@gmail.com>
Subject Re: Cassandra 2 DC deployment
Date Tue, 12 Apr 2011 16:13:48 GMT
When the down data center comes back up, the Quorum reads will result in a read-repair, so
you will get valid data.   Besides that, hinted handoff will take care of getting data replicated
to a previously down node.

You're example is a little unrealistic because you could theoretically have a DC with only
one node.  So CL.ONE would work every time.   But if you have more than 1 node, you have to
decide if your application can tolerate getting "NULL"  for a read if the write hasn't propagated
from the responsible node to the replica.

disclaimer:  I'm a cassandra novice.

On Apr 12, 2011, at 5:12 PM, Raj N wrote:

> Hi experts,
>      We are planning to deploy Cassandra in 2 datacenters. Let assume there are 3 nodes,
RF=3, 2 nodes in 1 DC and 1 node in 2nd DC. Under normal operations, we would read and write
at QUORUM. What we want to do though is if we lose a datacenter which has 2 nodes, DC1 in
this case, we want to downgrade our consistency to ONE. Basically I am saying that whenever
there is a partition, then prefer availability over consistency. In order to do this we plan
to catch UnavailableException and take corrective action. So try QUORUM under normal circumstances,
if unavailable try ONE. My questions -
> Do you guys see any flaws with this approach? 
> What happens when DC1 comes back up and we start reading/writing at QUORUM again? Will
we read stale data in this case?
> 
> Thanks
> -Raj


Mime
View raw message