You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Ulrich Geilmann <ul...@freiheit.com> on 2015/04/01 18:26:49 UTC

replace_address vs add+removenode

Hi.

The documentation suggests to use the replace_address startup
parameter for replacing a dead node. However, it doesn't motivate why
this is superior over adding a new node and retiring the dead one
using nodetool removenode.
I assume it can be more efficient since the new node can take over the
exact tokens of the dead node. Are there any other differences?
Can it be reasonable to not use replace_address in the interest of
more uniform operations?

br, Ulrich

Re: replace_address vs add+removenode

Posted by Robert Coli <rc...@eventbrite.com>.
On Wed, Apr 1, 2015 at 9:26 AM, Ulrich Geilmann <
ulrich.geilmann@freiheit.com> wrote:

> I assume it can be more efficient since the new node can take over the
> exact tokens of the dead node. Are there any other differences?
>

That's the reason. You get one streaming operation ("bootstrap a new node
with the same tokens as the old one") instead of two ("first, remove this
node *and give its data to other nodes*. then, bootstrap a new node with
new random tokens.").

=Rob

Re: replace_address vs add+removenode

Posted by Anuj Wadehra <an...@yahoo.co.in>.
In both cases node needs to bootstrap and get data frm other nodes. Removenode has an additional cost as it will lead to additional redistribution of tokens such that all data resides on remaining nodes as per the replication strategy. On removenode, remaining nodes will stream data amongst themselves so that ranges for which dead node was responsible is taken care.


Anuj Wadehra


From:"Ulrich Geilmann" <ul...@freiheit.com>
Date:Wed, 1 Apr, 2015 at 9:58 pm
Subject:replace_address vs add+removenode

Hi.

The documentation suggests to use the replace_address startup
parameter for replacing a dead node. However, it doesn't motivate why
this is superior over adding a new node and retiring the dead one
using nodetool removenode.
I assume it can be more efficient since the new node can take over the
exact tokens of the dead node. Are there any other differences?
Can it be reasonable to not use replace_address in the interest of
more uniform operations?

br, Ulrich