On Mon, Apr 28, 2014 at 6:57 PM, Lu, Boying <boying...@emc.com> wrote:
> I wonder if I can change the seeds list at runtime. i.e. without change > the yaml file and restart DB service? > There are dynamic seed providers, Priam for example uses one. https://issues.apache.org/jira/browse/CASSANDRA-5836 Is a JIRA about the current confusion of the yaml based seed list and what it means to be a seed, specifically in the context of bootstrapping. There is a trivial case that illustrates why seed lists need to be dynamic : 1) 3 node cluster, A B C, RF=1. 2) A is a seed, started first. B starts second, C starts third. 3) A and B fail. C does not fail. 4) A and B now have no seed to bootstrap from. C does not consider itself a seed in its own seed list. 5) C no longer has a node it gossips to once a gossip round, which is one of the only other seed related difference. Of course in practice you can just remove A from its own seed list and put C in A's bootstrap list and bootstrap it. But really what you "should" do is make C the seed in a dynamic seed provider. Datastax said : > The seed node designation has no purpose other than bootstrapping the > gossip process for new nodes joining the cluster. Seed nodes are not a > single point of failure, nor do they have any other special purpose in > cluster operations beyond the bootstrapping of nodes. > Seed nodes are also gossiped to once per round, which some might argue makes them "special". =Rob