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