> 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 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. 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 > http://www.sitevision.se > > > >