Skip to content

Instantly share code, notes, and snippets.

@angrycub
Created July 30, 2014 13:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save angrycub/0b16d41a52889e8b4efa to your computer and use it in GitHub Desktop.
Save angrycub/0b16d41a52889e8b4efa to your computer and use it in GitHub Desktop.
Preview new claim
Compute_Next = fun(Ring1,Ring2) ->
Owners1 = riak_core_ring:all_owners(Ring1),
Owners2 = riak_core_ring:all_owners(Ring2),
Owners3 = lists:zip(Owners1, Owners2),
[{Idx, PrevOwner, NewOwner, [], awaiting}
|| {{Idx, PrevOwner}, {Idx, NewOwner}} <- Owners3,
PrevOwner /= NewOwner]
end.
N = app_helper:get_env(riak_core,target_n_val,4),
{ok,Ring}= riak_core_ring_manager:get_my_ring(),
NewRing = riak_core_claim:claim(Ring,{riak_core_claim,wants_claim_v3},{riak_core_claim,choose_claim_v3}),
Next = Compute_Next(Ring,NewRing),
io:format("Initial Ring:~n~p~n",[riak_core_claim_util:ring_stats(Ring,N)]),
io:format("After ~p ownership changes:~n~p~n",[length(Next),riak_core_claim_util:ring_stats(NewRing,N)]).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment