Ah. That makes sense. All nodes start up in bootstrap mode. So on start up where in the code do I need to look to figure out that bootstrap is not required resulting in a call to finishBootstrap().
On Tue, May 4, 2010 at 6:36 PM, Jonathan Ellis <jbel...@gmail.com> wrote: > AbstractReplicationStrategy.getWriteEndpoints is where bootstrapping > nodes get added as write destinations. > > On Tue, May 4, 2010 at 6:02 PM, Bill Hastings <bllhasti...@gmail.com> > wrote: > > Hi > > > > I did some more looking. It looks like on bootstrap the token gets added > to > > the bootstrapTokens list. However there is no change to the > > tokenToEndPointMap. So how do writes make it to the new node. It is only > > when bootstrap is complete are the tokens removed from bootstrapTokens > list > > added to the tokenToEndPointMap opening them up to the ring. Which means > > during bootstrap writes continue to go to the old nodes and the when > > bootstrap is complete there could be some data that was written during > the > > bootstrap that remains on the old node. Am I missing something here? Any > > pointers would be great. > > > > Cheers > > - bill > > > > > >> > >> ---------- Forwarded message ---------- > >> From: Stu Hood <stu.h...@rackspace.com> > >> Date: Sun, May 2, 2010 at 10:50 AM > >> Subject: Re: Bootstrap source code > >> To: dev@cassandra.apache.org > >> > >> > >> Nodes declare that they will be joining the ring at a particular > position, > >> which makes them a member of the 'pending ranges' set. Nodes with > pending > >> ranges are supposed to receive writes for those ranges, despite not > >> officially owning them yet. > >> > >> > >> -----Original Message----- > >> From: "Roger Schildmeijer" <schildmei...@gmail.com> > >> Sent: Sunday, May 2, 2010 11:50am > >> To: dev@cassandra.apache.org > >> Subject: Re: Bootstrap source code > >> > >> s/hinted handoff/read repair > >> > >> > > >> > > >> > > >> > (Moved to developers mailing list) > >> > > >> > Without delve to deep into to that part of the code my educated(?) > guess > >> is that this will (eventually) be solved/repaired thanks to hinted > handoff > >> and anti entropy service. > >> > > >> > > >> > On 2 maj 2010, at 18.29em, Bill Hastings wrote: > >> > > >> >> Hi > >> >> > >> >> I have looking at the bootstrap source and seem to understand it for > the > >> most part. This is what I do not follow: > >> >> > >> >> (1) New node joins and doesn't advertise its token. > >> >> (2) Requests nodes to send it data. The nodes that need to send it > data > >> first flush memtables and then transfer SSTables. > >> >> > >> >> Once the streaming is over the new node advertises its token and > starts > >> handling reads and writes correct? But what happens to keys that are > being > >> written to the old nodes after the memtables have been dumped. Looks > like > >> there is a window where keys would be going to the old nodes and not > making > >> it to the new nodes. Am I missing something here. > >> >> > >> >> -- > >> >> Cheers > >> >> Bill > >> > > >> > >> > >> > >> > >> > > > > > > -- > > Cheers > > Bill > > > > > > -- > Jonathan Ellis > Project Chair, Apache Cassandra > co-founder of Riptano, the source for professional Cassandra support > http://riptano.com > -- Cheers Bill