Apache Cassandra: Does the auto_bootstrap property allow new (non-seed) nodes to stream data from nodes in another DC?

Viewed 313

Cluster:

3x nodes in DC1
2x nodes in DC2

Say the cluster is currently busy but only DC1 is handling traffic.(DC2 just used as a backup)

My question is will setting the "auto_bootstrap" property to true in the cassandra.yaml allow a new (non-seed) node (added to DC2) to stream data from a node/nodes in DC1?

1 Answers

Yes, it will bootstrap, but not with data from another DC.

A new non-seed node will stream data from its own data center. This is due to the token range recalculation which happens at join-time. Once the new node has its token range(s), it then streams data from the former owners of those ranges.

If the new node has trouble finding reachable replicas for the data it is now responsible for, those streams will fail. Consistent trouble with this process can be remedied by setting auto_bootstrap: false and running nodetool rebuild -- DC1 immediately after it joins.

Related