First thing you are going to need is some log messages. From the machine the 
client was connected to when it returned the UnavailableException.

At CL ANY even Hinted Handoff counts towards meeting the CL for a write 
http://wiki.apache.org/cassandra/HintedHandoff . So as long as the client can 
connect to a node in the cluster the write should be accepted. But there could 
still be reasons why the HH could not be recorded, the logs should help sort it 
out though.

For a read, with RF 2 and 3 nodes down there may be an entire section of the 
distributed hash table will be unavailable. So any read for a key that is 
replicated on 2 of the 3 down nodes will fail. I would advise getting those 
nodes up asap.

Keys in all CF's are distributed around the cluster according to the 
partitioner, replication strategy and initial tokens. If you are using the 
Random Partitioner, Simple Replication Strategy and set evenly spaced initial 
tokens then keys will be evenly spaced around the cluster. 

Hope that helps
Aaron

On 14 Dec 2010, at 21:12, Rajat Chopra wrote:

> Hi!
>    I have a 16 node cluster with two keyspaces and several column families 
> within each, all with RF=2.
> All the reads/writes work with all column families but only one of them gives 
> me an unavailable exception, even with CL.ANY consistency. The nodetool ring 
> shows that three of the nodes of the cluster are down (they have their disk 
> full because Cassandra runs out of memory and leaves humongous hprof files).
>  
> Anyhow, my question is this – is the unavailable exception being thrown 
> because that particular column family (with its replica) happened to be 
> stored in the three nodes that were down?
> Is there a way to see what keys/cfs are stored in which node(s) of the 
> cluster?
>  
> Thanks,
> Rajat
>  

Reply via email to