On Wed, Apr 3, 2019 at 12:28 AM Saleil Bhat (BLOOMBERG/ 731 LEX) < sbha...@bloomberg.net> wrote:
> > The standard procedure for doing this seems to be add a 3rd datacenter to > the cluster, stream data to the new datacenter via nodetool rebuild, then > decommission the old datacenter. A more detailed review of this procedure > can be found here: > http://thelastpickle.com/blog/2019/02/26/data-center-switch.html > > However, I see two problems with the above protocol. First, it requires > changes on the application layer because of the datacenter name change; > e.g. all applications referring to the datacenter ‘Orlando’ will now have > to be changed to refer to ‘Tampa’. > Alternatively, you may omit DC specification in the client and provide internal network addresses as the contact points. As such, I was wondering what peoples’ thoughts were on the following > alternative procedure: > 1) Kill one node in the old datacenter > 2) Add a new node in the new datacenter but indicate that it is to REPLACE > the one just shutdown; this node will bootstrap, and all the data which it > is supposed to be responsible for will be streamed to it > I don't think this is going to work. First, I believe streaming for bootstrap or for replacing a node is DC-local, so the first node won't have any peers to stream from. Even if it would stream from the remote DC, this single node will own 100% of the ring and will most likely die of the load well before it finishes streaming. Regards, -- Alex