vikasuy/redis-dht — pull request #23 by yifeih (2014-12-08 07:14:06+00:00)
Title: Forwarding

For forwarding :key:s from an old node to a new node.
Works in 2 stages:
1. Initial forward. This stage happens before the leases start. The new node asks the arpeggio successor to add it to a self.forwarding variable, and retrieves the current :key:s that belong to it.
2. While it's adding these :key:s and waiting for leases from everyone else, more :key:s might be added to the system that belong to the new node. The successor keeps track of these, and forwards them to the new node at the end of the lease period, before the new node labels itself as "added". All "gets" to this new node will wait until these :key:s are added before returning.

... Hopefully that made sense :D