On Tue, Feb 17, 2015 at 2:25 PM, <sean_r_dur...@homedepot.com> wrote:

>  SimpleSnitch is not rack aware. You would want to choose seed nodes and
> then not change them. Seed nodes apparently don’t bootstrap.
>

No one seems to know what a "seed node" actually *is*, but "seed nodes" can
in fact bootstrap. They just have to temporarily forget to tell themselves
that they are a seed node while bootstrapping, and then other nodes will
still gossip to it as a seed once it comes up, even though it doesn't
consider itself a seed.

https://issues.apache.org/jira/browse/CASSANDRA-5836?focusedCommentId=13727032&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13727032
"

Replacing a seed node is a very common operation, and this best practice is
confusing/poorly documented. There are regular contacts to
#cassandra/cassandra-user@ where people ask how to replace a seed node, and
are confused by the answer. The workaround also means that, if you do not
restart your node after bootstrapping it (and changing the conf file back
to indicate to itself that it is a seed) the node runs until next restart
without any understanding that it is a seed node.

Being a seed node appears to mean two things :

1) I have myself as an entry in my own seed list, so I know that I am a
seed.
2) Other nodes have me in their seed list, so they consider me a seed.

The current code checks for 1) and refuses to bootstrap. The workaround is
to remove the 1) state temporarily. But if it is unsafe to bootstrap a seed
node because of either 1) or 2), the workaround is unsafe.

Can you explicate the special cases here? I sincerely would like to
understand why the code tries to prevent "a seed" from bootstrapping when
one can clearly, and apparently safely, bootstrap "a seed".

"


Unfortunately, there has been no answer.


=Rob

Reply via email to