Oleksandr Shulgin commented on CASSANDRA-5836:

I think "seed nodes can't bootstrap" is only true for the very first node 
deployed in a cluster (which must be a seed node).  Any further nodes deployed 
into a new cluster *can* bootstrap, but they *don't need* to, since there is no 
data.  For all practical purposes, when deploying a new cluster there is no 
difference if you specify {{auto_bootstrap=false}} or leave the default.  We 
could also say, that bootstrapping of the very first node in the cluster is 

Another case when you add seed nodes is when adding a new DC.  In this case 
they are *not* the first ones to start so they could bootstrap, but most of the 
time this is not what you want, so you set {{auto_bootstrap=false}} for every 
node in the new DC, including the new seeds.

Finally, if a seed node is restarted because of maintenance it would help if it 
behaved the same way as normal nodes.  It shouldn't be OK that it runs w/o data 
(due to misconfiguration, for example) and starts to accept read requests again.

I would argue that maintenance safety is much more important than ease of 
initial deployment.  So if we need to make a trade-offs we should favor 
increased safety in the long run.

I think the safest option is to just allow seed nodes to bootstrap, when there 
is are nodes to bootstrap from.  So the *only* special case is the very first 
seed node.

At the same time there is no trade-off to be made really: such a change is 
backwards-compatible.  Users will not notice the difference (though it should 
be documented of course), because as explained above the specific setting of 
{{auto_bootstrap}} is:
1) irrelevant when deploying a new cluster;
2) supposed to be explicitly set to {{false}} when deploying a new DC;
3) has be set to {{true}}, when adding a new node to existing DC.

This will allow to bootstrap new nodes directly as seeds as a side-effect.

Did I miss something?

> Seed nodes should be able to bootstrap without manual intervention
> ------------------------------------------------------------------
>                 Key: CASSANDRA-5836
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5836
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Bill Hathaway
>            Priority: Minor
> The current logic doesn't allow a seed node to be bootstrapped.  If a user 
> wants to bootstrap a node configured as a seed (for example to replace a seed 
> node via replace_token), they first need to remove the node's own IP from the 
> seed list, and then start the bootstrap process.  This seems like an 
> unnecessary step since a node never uses itself as a seed.
> I think it would be a better experience if the logic was changed to allow a 
> seed node to bootstrap without manual intervention when there are other seed 
> nodes up in a ring.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to