BTW, is there any article explaining the process? I think this will help us understand it better.
On Thu, May 19, 2016 at 11:28 AM Renjie Liu <liurenjie2...@gmail.com> wrote: > Thanks, I'll read the code. > > On Thu, May 19, 2016 at 11:02 AM Jeff Jirsa <jeff.ji...@crowdstrike.com> > wrote: > >> >> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/locator/TokenMetadata.java#L731-L754 >> >> >> And >> >> >> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/locator/TokenMetadata.java#L60-L88 >> >> >> >> Cassandra keeps a map of joining and leaving nodes, and does extra writes >> to the appropriate nodes for mutations created after the streaming is >> calculated. >> >> >> >> On 5/18/16, 7:33 PM, "Renjie Liu" <liurenjie2...@gmail.com> wrote: >> >> >Hi, cassandra devs: >> >I'm learning cassandra and I can understand most of the techniques used. >> >But I can't understand how cassandra ensures consistency when >> >adding/removing a node? It seems that when a node joins the dht ring, >> some >> >node need to transferring data to the new node using streaming. But the >> >data may still get updated while transferring, so the new node can never >> >catch up with it. How cassandra handles this? Will cassandra lose data >> >during this process? >> >-- >> >Liu, Renjie >> >Software Engineer, MVAD > > -- > Liu, Renjie > Software Engineer, MVAD > -- Liu, Renjie Software Engineer, MVAD