In this PR a new mechanism for calculating ring checksums is added. It aims to be forward compatible by naming checksums after the algorithm used so that new algorithms can be added and old algorithms can be removed when appropriate.
At the same time the old algorithm will start its EOL and all references to that are renamed to indicate legacy. The old algorithm does not capture all aspects of the hashring and will not warn about programmer error in the hashring.
The newly added replica checksummer will walk the ring from the beginning to the end and capture all significant datapoints of a replicapoint in its checksum that should prevent two rings that are out of sync to provide the same checksum.
This PR is part 5 for identity carry over.
In this PR a new mechanism for calculating ring checksums is added. It aims to be forward compatible by naming checksums after the algorithm used so that new algorithms can be added and old algorithms can be removed when appropriate.
At the same time the old algorithm will start its EOL and all references to that are renamed to indicate legacy. The old algorithm does not capture all aspects of the hashring and will not warn about programmer error in the hashring.
The newly added
replica
checksummer will walk the ring from the beginning to the end and capture all significant datapoints of areplicapoint
in its checksum that should prevent two rings that are out of sync to provide the same checksum.