I am curious about coordination in classic Cassandra. I read the Facebook paper written by Avinash Lakshman and Prashant Malik called Cassandra - A Decentralized Structured Storage System
An excerpt from the paper Each data item identified by a key is assigned to a node by hashing the data item’s key to yield its position on the ring, and then walking the ring clockwise to find the first node with a position larger than the item’s position. This node is deemed the coordinator for this key. The application specifies this key and the Cassandra uses it to route requests. Thus, each node becomes responsible for the region in the ring between it and its predecessor node on the ring.
The part I am curious about is the last node in the ring, the one that points to the 1st node in the ring, and what range is it coordinating?
Thus, each node becomes responsible for the region in the ring between it and its predecessor node on the ring
I am trying to visualize the coordination scheme like so:
Question
Not sure how every node can be a coordinator though if, according to the description that each node is responsible for itself and its preceding node because then you would have coordinators overlapping. So in my screenshot 180,302, 502 and 771 would overlap if they were also coordinators.