anchor.diff:  
   set_cluster_name(Name) ->
       gen_server:call(?MODULE, {set_cluster_name, Name}, infinity).
  +
  +is_stable_ring() ->
  +    gen_server:call(?MODULE, is_stable_ring, infinity).
   
   %% @doc Exposed for support/debug purposes. Forces the node to change its
   %%      ring in a manner that will trigger reconciliation on gossip.
  
positive.code:     {noreply,State}.
  
  
  handle_info(inactivity_timeout, State=#state{ring_changed_time=Then}) ->
      DeltaUS = erlang:max(0, timer:now_diff(os:timestamp(), Then)),
      DeltaMS = DeltaUS div 1000,
      case DeltaMS >= ?PROMOTE_TIMEOUT of
          true ->
              lager:debug("Promoting ring after ~p", [DeltaMS]),
              promote_ring(),
              State2 = State#state{inactivity_timer=undefined},
              {noreply, State2};
          false ->
              Remaining = ?PROMOTE_TIMEOUT - DeltaMS,
              State2 = set_timer(Remaining, State),
              {noreply, State2}
  
negative.code:          ring_trans/2,
           run_fixups/3,
           set_cluster_name/1,
           stop/0,
           is_stable_ring/0]).
  
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
          terminate/2, code_change/3]).
  