On Thu, Sep 11, 2014 at 1:18 PM, Tom van den Berge <t...@drillster.com>
wrote:

> When setting up a new (additional) data center, the documentation tells us
> to use "nodetool rebuild -- <old dc>" to fill up the node(s) in the new dc,
> and to disable auto_bootstrap.
>
> I'm wondering if it is possible to fill the node with
> "auto_bootstrap=true" instead of a nodetool rebuild command. If so, how
> will Cassandra decide from where to stream the data?
>

Yes, if that node can hold 100% of the replicas for the new DC.

Cassandra will decide from where to stream the data in the same way it
normally does, by picking one replica per range and streaming from it.

But you probably don't generally want to do this, rebuild exists for this
use case.

The reason I'm asking is that when using rebuild, I've learned from
> experience that the node immediately joins the cluster, and starts
> accepting reads (from other DCs) for the range it owns. But since the data
> is not complete yet, it can't return anything. This seems to be a dangerous
> side effect of this procedure, and therefore can't be used.
>

Yes, that's why LOCAL_ONE ConsistencyLevel was created. Use it, and
LOCAL_QUORUM, instead of ONE and QUORUM.

=Rob

Reply via email to