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