Hi Aaron,
On 03/15/2012 10:52 AM, aaron morton wrote:
>> 1. a running cluster of N=3, R=3
>> 2. upgrade R to 4
> You should not be allowed to set the RF higher than the number of nodes.
I'm not sure why this is not allowed. As long as I do not use CL.all
there will be enough nodes available to satisfy the read / write (at
least when I look at ReadCallback and the WriteResponseHandler). Or am I
missing something here?
>
> I'm going to assume that clients on the web server only talk to the
> local cassandra. So that when you add the new cassandra node it will
> not have any clients until you serve pages off the node.
Yes that's the general idea; wait until all data is available to the
local node before accepting requests (i.e. starting the application).
Thank you for your reply
Regards
>
> 0. Personally I would run a repair before doing this to ensure the
> data is fully distributed.
> 1. Optionally, increase the CL QUOURM. See step 3.
> 2. Add the new node with auto_bootstrap off. It will join the ring,
> write requests will be sent to it (from other cassandra nodes), but it
> should not get any direct client reads. It will not stream data from
> other nodes.
> 3. It is now possible for a READ to be received at an old node where
> it is no longer a replica for the row. It has to send the request to
> another node. If it is sent to the new node (at CL ONE) the read will
> fail. If you are running at a high CL it will always involve the old
> nodes.
> 4. Update the RF to 4. Every node is now a replica for every key.
> 5. Roll back the CL change.
> 6. Repair the new node.
> 7. Turn on the clients for the new node.
>
> Hope that helps.
>
> -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
>
> On 15/03/2012, at 9:50 PM, Mikael Wikblom wrote:
>
>> Hi,
>>
>> I'm using cassandra (1.0.8) embedded in the same jvm as a
>> webapplication. All data is available on all nodes (R = N), read /
>> write CL.ONE.
>>
>> Is it correct to assume in the following scenario that the newly
>> added node has all data locally and that secondary indexes are fully
>> created after the bootstrap process finishes?
>>
>> scenario:
>> 1. a running cluster of N=3, R=3
>> 2. upgrade R to 4
>> 3. bootstrap the new node
>>
>> I would like to avoid having to do the required repair on each node
>> if I upgrade R to 4 after bootstrapping the new node.
>>
>> Thanks
>> Regards
>>
>> --
>> Mikael Wikblom
>> Software Architect
>> SiteVision AB
>> 019-217058
>> mikael.wikblom@sitevision.se <mailto:mikael.wikblom@sitevision.se>
>> http://www.sitevision.se
>>
>>
>>
>>
>
--
Mikael Wikblom
Software Architect
SiteVision AB
019-217058
mikael.wikblom@sitevision.se
http://www.sitevision.se
|