Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a rework of #336
It achieves the same thing (compatibility with carbon consistent hashing after graphite-project/carbon#196 was applied), but by creating a new route type (consistentHashing-v2 in addition to consistentHashing). This way existing users of consistentHashing will not see a sudden reshuffle of their metrics when upgrading carbon-relay-ng after this patch is merged.
I notice in the carbon project that
lib/carbon/hashing.py
has received many more changes over the years after that fix, so I'm very doubtful that the hashing behavior is now in sync with the current carbon version, hence I've marked this route type as "experimental" for now. I hope that someone with more carbon hashing expertise can help us clarify exactly which versions we are now compatible with and what we are still missing. (we miss replication support for example)Towards the future, it would still be nice to implement more different CH route types that correspond accurately to certain carbon versions. Although even carbon CH has its limits too and I can see us implement a style that carbon doesn't have. (see #211)
@github-vincent-miszczak
@trinitronx
@hamelg
@loitho