Hi,
I'm trying to get different distributions on the ring and I used before
the following Erlang code, which for Riak 1.4.7 is not re-triggering a
re-calculation:
* What is the latest algorithm version? v3? And is there a list of the
last 2 or 3 versions? Sometimes depending on the keys one algorithm
can fit better than the other (From what I have learned)
*Changes algorithm:*
rpc:multicall(application, set_env, [riak_core, wants_claim_fun,
{riak_core_claim, wants_claim_v3}]).
rpc:multicall(application, set_env, [riak_core, choose_claim_fun,
{riak_core_claim, choose_claim_v3}]).
* Not working in Riak 1.4.7, any Riak/Erlang expert know why?
*Triggers a recalculation:*
fun() ->
Node = node(),
riak_core_ring_manager:ring_trans(
fun(Ring, []) ->
case riak_core_ring:claimant(Ring) of
Node ->
%% Set next to []
NewRing1 = setelement(7, Ring, []),
%% Increment ring version
RVsn1 = element(11, NewRing1),
RVsn2 = vclock:increment(Node, RVsn1),
NewRing2 = setelement(11, NewRing1, RVsn2),
{new_ring, NewRing2};
_ ->
io:format("Failed. This node is not the
claimant~n"),
ignore
end
end, []),
ok
end().
Regards,
Guido.
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com