Now one member changs, all of nodes will begin to recovery. Node gets all of the objects list and finds which belong to itself. >From the consistent hashing ring, only neighbors of changed node will be influenced. This patch try to implement this. Try to find the neighbor nodes of changed node. Since we use virtual nodes and one node support 64 vnodes by default, the patch test may be difficult. Only when the cluster has many nodes or has smaller vnodes number, the advantage of the patch can be seen. In my test, I set a few vnodes of every node. As a basic idea of consistent hash, I think we should support this. Perhaps we can improve the hash partiton later and there is no need to have so many vnodes of every node. |