incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mohit Agarwal <coolmoh...@gmail.com>
Subject Re: Understanding UnavailableException
Date Fri, 17 Aug 2012 19:47:46 GMT
Thanks Nick for your answers. The blog post is very well written and was
much needed i guess.

On Fri, Aug 17, 2012 at 8:30 PM, Nick Bailey <nick@datastax.com> wrote:

> This blog post should help:
>
> http://www.datastax.com/dev/blog/how-cassandra-deals-with-replica-failure
>
> But to answer your question:
>
> >> UnavailableException is bit tricky. It means, that not all replicas
> >> required by CL received update. Actually you do not know, whenever
> update
> >> was stored or not, and actually what went wrong.
> >>
>
> This is actually incorrect. If you get an UnavailableException, the
> write was rejected by the coordinator and was not written anywhere.
>
>
> >>> a) Suppose we are doing a ConsistencyLevel.ALL write on a 3 node
> cluster.
> >>> My understanding is that if one of the nodes is down and the
> coordinator
> >>> node is aware of that(through gossip), then it will respond to the
> request
> >>> with an UnavailableException. Is this correct?
>
> Correct
>
> >>>
> >>> b) What happens if the coordinator isn't aware of a node being down and
> >>> sends the request to all the nodes and never hears back from one of the
> >>> node. Would this result in a TimedOutException or a
> UnavailableException?
> >>>
>
> You will get a TimedOutException
>
> >>> c) I am trying to understand the cases where the client receives an
> >>> error, but data could have been inserted into Cassandra. One such case
> is
> >>> the TimedOutException. Are there any other situations like these?
> >>>
>
> This should be the only case.
>

Mime
View raw message