-
Notifications
You must be signed in to change notification settings - Fork 33
Support Snippets
Dave Parfitt edited this page Nov 18, 2013
·
23 revisions
- Erlang snippets: https://github.com/basho/internal_wiki/wiki/Erlang-Snippets#repl
rp(riak_core_util:rpc_every_member_ann(riak_core_cluster_mgr, get_leader, [], 5000)).
## Use the http port for Riak below:
curl -q http://localhost:10018/riak-repl/stats
## Pretty print JSON stats
curl -q http://localhost:8091/riak-repl/stats | python -mjson.tool
rp(sys:get_status(riak_repl2_leader_gs)).
riak_core_cluster_mgr:set_leader(riak_repl2_leader:leader_node(), undefined).
or
riak_core_cluster_mgr:set_leader('[email protected]', undefined).
To disable updating list of remote IPs
rpc:multicall(erlang, apply, [fun() -> riak_core_cluster_mgr:register_save_cluster_members_fun(fun(_ClusterName, _Members) -> ok end) end, []]).
To re-enable
rpc:multicall(erlang, apply, [fun() -> riak_core_cluster_mgr:register_save_cluster_members_fun(fun(ClusterName, Members) -> riak_core_ring_manager:ring_trans(fun riak_repl_ring:set_clusterIpAddrs/2, {ClusterName, Members}) end) end, []]).
(possibly forcing a reelection.)
[exit(P, kill) || P <- element(1, rpc:multicall(riak_repl2_leader, helper_pid, []))].
%%% V2 REPLICATION
exit(whereis(riak_repl_leader_gs), kill).
%% Note, the registered name is different than the module name
%% gs = "gen_server"
rp(sys:get_status(riak_core_cluster_manager)).
%% One node
rp(sys:get_status(riak_core_connection_manager)).
%% All nodes
rp(rpc:multicall(sys, get_status, [riak_core_connection_manager])).
rpc:multicall(supervisor, which_children, [riak_repl2_rtsink_conn_sup]).
riak_core_ring_manager:ring_trans(fun(Ring, Name) ->
riak_repl_ring:set_clusterIpAddrs(Ring, {Name, [{IP, Port} || {IP, Port} <- riak_repl_ring:get_clusterIpAddrs(Ring, Name), is_list(IP), is_integer(Port)]}) end, "sink_clustername").
riak_kv_entropy_manager:disable().
riak_kv_entropy_manager:cancel_exchanges().
rp(rpc:multicall(erlang, apply, [fun() -> {node(), element(5, element(2, hd(element(2, lists:nth(3, lists:nth(5, element(4, sys:get_status(riak_core_cluster_manager))))))))} end, []])).