Description
This issue is to resolve the excessive movement of shards during a failure as well as when a new shard server is brought online.
This current strategy uses the knowledge of the current online shard server list as well as the total of list of shard server to calculate the location any given shard. The benefit of the current implementation is that no central process is needed to calculate the locations. However the drawback to this strategy is that when a new server is added to the available servers, it can cause most of the shards of a given table to relocate to another server. Obviously this is a problem when new servers come online and added to the cluster regularly.