On Tue, Aug 17, 2010 at 7:55 PM, Chen Xinli <chen.d...@gmail.com> wrote:
> Hi,
>
> We are going to use cassandra for searching purpose like inbox search.
> The reading qps is very high, we'd like to use ConsitencyLevel.One for
> reading and disable read-repair at the same time.
>

In 0.7 you can set a probability for read repair, but disabling it is
a spectacularly bad idea.  Any write problems on a node will result in
persistent inconsistency.

> For reading consistency in this condition, the writing should use
> ConsistencyLevel.ALL. But the writing will fail if one node fails.

You are free to read and write with consistency levels where R+W < N,
it just means you have weaker consistency guarantees.

> We want such a ConsistencyLevel for writing/reading that :
> 1. writing will success if there is node alive for this key
> 2. reading will not forward to a node that's just recovered and doing hinted
> handoff
>
> So that, if some node fails, others nodes for replica will receive the data
> and surve reading successfully;
> when the failure node recovers,  it will receive hinted handoff from other
> nodes and it'll not surve reading until hinted handoff is done.
>
> Does cassandra support the cases already? or should I modify the code to
> meet our requirements?
>

You are phrasing these requirements in terms of a specific
implementation.  What are your actual consistency goals?  If node
failure is such a common occurrence in your system, you are going to
have _numerous_ problems.


b

Reply via email to