Skip to content

v2.2.0

Latest

Choose a tag to compare

@mbrostami mbrostami released this 05 Jun 06:40
v2.2.0
3ebd235

Sorted-ring binary search rewrite.

Replaces the block-partitioning lookup (retracted in v2.0.0 and v2.1.0), which returned the wrong node for rings spanning more than one block and was not concurrency-safe.

  • O(log N) lookup via a single sorted ring + binary search
  • thread-safe: one RWMutex per operation (data races fixed)
  • AddReplicas/Remove now agree on replica count, so weighted nodes are fully removed
  • stored keys are copied to avoid aliasing the caller's buffer
  • removed the WithBlockPartitioning option
  • added a differential fuzz test against a brute-force ring

Users on v2.0.0/v2.1.0 will see a retracted-version warning from go get -u; upgrade to v2.2.0.