Three questions, three contracts

Ownership: first active token at or after key. Replicas: distinct nodes with zone preference. Rebalance: strictly improve the global load gap within a budget.

Equal token counts do not imply equal traffic.

1 / 5

Predict ownership

Active A@20, B@20, C@70; inactive D@90. IDs A<B<C<D.

Key 20 → A, no wrap. Key 21 → C, no wrap. Key 80 → A, wrapped. Key 0 → A, no wrap.

Joining E@50 changes (20,50] only.

2 / 5

Walk the replica ring twice

From key 15: B/east, A/east, C/west, B/east, D/west, E/north. rf=4.

Pass 1: B,C,E. Restart at the original position. Pass 2: A. Result B,C,E,A.

Why not D? A is the first unseen node on the second traversal.

3 / 5

Compare whole-cluster outcomes

Loads [14,8,2]: size 7 → [7,8,9], gap 2. Size 5 → [9,8,7], gap 2. Larger-size tie break picks 7.

Loads [12,11,0]: size 6 → [6,11,6], gap 5, not zero. Cache unchanged-node extrema to score each candidate in O(1).

4 / 5

A stopping rule is not an optimum proof

[10,10,0] moving size 10 from node 0 to 2 preserves gap 10. Reject it. Strict decrease prevents oscillation.

Pinned data, move limits and the chosen hi→lo pair can leave positive gap. A plan is proposed ownership changes, not executed data migration.

5 / 5
←/→ or click edges to navigate · ? help · N notes · F fullscreen