[
https://issues.apache.org/jira/browse/CASSANDRA-5836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16383742#comment-16383742
]
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
no-op.
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;
and
2) supposed to be explicitly set to {{false}} when deploying a new DC;
or
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
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]