How can this be resolved in this case? On Wed, Sep 12, 2012 at 3:53 PM, Rob Coli <rc...@palominodb.com> wrote:
> On Tue, Sep 11, 2012 at 4:21 PM, Edward Sargisson > <edward.sargis...@globalrelay.net> wrote: > > If the downed node is a seed node then neither of the replace a dead node > > procedures work (-Dcassandra.replace_token and taking initial_token-1). > The > > ring remains split. > > [...] > > In other words, if the host name is on the seeds list then it appears > that > > the rest of the ring refuses to bootstrap it. > > Close, but not exactly... > > "./src/java/org/apache/cassandra/service/StorageService.java" line 559 of > 3090 > " > if (DatabaseDescriptor.isAutoBootstrap() > && > DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress()) > && !SystemTable.isBootstrapped()) > logger_.info("This node will not auto bootstrap because it > is configured to be a seed node."); > " > > getSeeds asks your seed provider for a list of seeds. If you are using > the SimpleSeedProvider, this basically turns the list from "seeds" in > cassandra.yaml on the local node into a list of hosts. > > So it isn't that the other nodes have this node in their seed list.. > it's that the node you are replacing has itself in its own seed list, > and shouldn't. I understand that it can be tricky in conf management > tools to make seed nodes' seed lists not contain themselves, but I > believe it is currently necessary in this case. > > FWIW, it's unclear to me (and Aaron Morton, whose curiousity was > apparently equally piqued and is looking into it further..) why > exactly seed nodes shouldn't bootstrap. It's possible that they only > shouldn't bootstrap without being in "hibernate" mode, and that the > code just hasn't been re-written post replace_token/hibernate to say > that it's ok for seed nodes to bootstrap as long as they hibernate... > > =Rob > > -- > =Robert Coli > AIM>ALK - rc...@palominodb.com > YAHOO - rcoli.palominob > SKYPE - rcoli_palominodb >