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
smime.p7s
Description: S/MIME cryptographic signature