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.wikb...@sitevision.se <mailto:mikael.wikb...@sitevision.se>
http://www.sitevision.se
--
Mikael Wikblom
Software Architect
SiteVision AB
019-217058
mikael.wikb...@sitevision.se
http://www.sitevision.se