# Does scylla support scaling multiple nodes at the same time?

**URL:** <https://forum.scylladb.com/t/does-scylla-support-scaling-multiple-nodes-at-the-same-time/1024>\
**Category:** ScyllaDB\
**Created:** [November 21, 2023, 2:46am UTC](https://forum.scylladb.com/t/does-scylla-support-scaling-multiple-nodes-at-the-same-time/1024 "2023-11-21T02:46:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Felix-zhoux](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/felix-zhoux/32/190_2.png) [@Felix-zhoux](https://forum.scylladb.com/u/Felix-zhoux)\
**Post date:** [November 21, 2023, 2:46am UTC](https://forum.scylladb.com/t/does-scylla-support-scaling-multiple-nodes-at-the-same-time/1024/1 "2023-11-21T02:46:37Z")

</div>

The test found that when expanding two nodes at the same time into the cluster, one node will report an error. `Other bootstrapping/leaving/moving nodes detected, cannot bootstrap while consistent_rangemovement is true (check_for_endpoint_collision)`.

What will happen if we `change consistent_rangemovement` to `false`? Support two nodes bootstrap at the same time, what will be the bad effects? Is this a production-ready solution?

---

<div class="post-metadata">

**Author:** ![felipemendes](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/felipemendes/32/11_2.png) [@felipemendes](https://forum.scylladb.com/u/felipemendes)\
**Post date:** [November 21, 2023, 6:05pm UTC](https://forum.scylladb.com/t/does-scylla-support-scaling-multiple-nodes-at-the-same-time/1024/2 "2023-11-21T18:05:58Z")

</div>

> What will happen if we `change consistent_rangemovement` to `false`? Support two nodes bootstrap at the same time, what will be the bad effects? Is this a production-ready solution?

You shouldn’t turn off this option, as it means you will disable consistent range movements (or enable inconsistent range movements ;-))

Consider you have nodes N1, N2, N3. You bootstrap N4 & N5, consider N4 started first and you started N5 before N4 finished.

N4 will stream data from N1~N3 for the ranges it now owns. N5 bootstraps, places its vNodes into the ring similarly as N4 did. It will stream from N1~N4, but there may be ranges N4 hasn’t streamed yet.

Worse, what if N4 fails?

The general solution for these are Raft and Tablets.  
You may read [ScyllaDB’s Path to Strong Consistency: A New Milestone - ScyllaDB](https://www.scylladb.com/2023/05/04/scylladbs-path-to-strong-consistency-a-new-milestone/) - which includes a nice Q&A in the end which addresses your question.

And for tablets: [Why ScyllaDB is Moving to a New Replication Algorithm: Tablets - ScyllaDB](https://www.scylladb.com/2023/07/10/why-scylladb-is-moving-to-a-new-replication-algorithm-tablets/)

Also related: [https://github.com/apache/cassandra/blob/cassandra-3.9/doc/source/operating/topo\_changes.rst#range-streaming](https://github.com/apache/cassandra/blob/cassandra-3.9/doc/source/operating/topo_changes.rst#range-streaming)
