> And my application would fall back to ONE. Quorum writes will also fail so I 
> would also use ONE so that the app stays up. What would I have to do make the 
> data to redistribute when the broken node is up again? Simply call nodetool 
> repair on it?

There is 3 mechanisms for that:
  - hinted handoff: basically, when the node is back up, the other
node will send him what he missed.
  - read-repair: whenever you read a data and an inconsistency is
detected (because one node is not up to date), it gets repaired.
  - calling nodetool repair

The two first are automatic, you have nothing to do.
Nodetool repair is usually run only periodically (say once a week) to
repair some cold data that wasn't dealt with by
the two first mechanisms.

--
Sylvain

>
>> If you want Cassandra to send you an answer with only one node up, use
>> CL=ONE (as said by David).
>>
>>>
>>>> On Thu, Dec 9, 2010 at 6:05 PM, Sylvain Lebresne <sylv...@yakaz.com> wrote:
>>>> I'ts 2 out of the number of replicas, not the number of nodes. At RF=2, 
>>>> you have
>>>> 2 replicas. And since quorum is also 2 with that replication factor,
>>>> you cannot lose
>>>> a node, otherwise some query will end up as UnavailableException.
>>>>
>>>> Again, this is not related to the total number of nodes. Even with 200
>>>> nodes, if
>>>> you use RF=2, you will have some query that fail (altough much less that 
>>>> what
>>>> you are probably seeing).
>>>>
>>>> On Thu, Dec 9, 2010 at 5:00 PM, Timo Nentwig <timo.nent...@toptarif.de> 
>>>> wrote:
>>>>>
>>>>> On Dec 9, 2010, at 16:50, Daniel Lundin wrote:
>>>>>
>>>>>> Quorum is really only useful when RF > 2, since the for a quorum to
>>>>>> succeed RF/2+1 replicas must be available.
>>>>>
>>>>> 2/2+1==2 and I killed 1 of 3, so... don't get it.
>>>>>
>>>>>> This means for RF = 2, consistency levels QUORUM and ALL yield the same 
>>>>>> result.
>>>>>>
>>>>>> /d
>>>>>>
>>>>>> On Thu, Dec 9, 2010 at 4:40 PM, Timo Nentwig <timo.nent...@toptarif.de> 
>>>>>> wrote:
>>>>>>> Hi!
>>>>>>>
>>>>>>> I've 3 servers running (0.7rc1) with a replication_factor of 2 and use 
>>>>>>> quorum for writes. But when I shut down one of them 
>>>>>>> UnavailableExceptions are thrown. Why is that? Isn't that the sense of 
>>>>>>> quorum and a fault-tolerant DB that it continues with the remaining 2 
>>>>>>> nodes and redistributes the data to the broken one as soons as its up 
>>>>>>> again?
>>>>>>>
>>>>>>> What may I be doing wrong?
>>>>>>>
>>>>>>> thx
>>>>>>> tcn
>>>>>
>>>>>
>>>>
>>>
>>>
>
>

Reply via email to