anchor.diff:      State2 = set_ring(Ring, State),
       State2.
   
  +is_stable_ring(_State=#state{ring_changed_time=Then}) ->
  +    DeltaUS = erlang:max(0, timer:now_diff(os:timestamp(), Then)),
  +    DeltaMS = DeltaUS div 1000,
  +    IsStable = DeltaMS >= ?PROMOTE_TIMEOUT,
  +    {IsStable,DeltaMS}.
  +
   %% ===================================================================
   %% Unit tests
   %% ===================================================================
  
positive.code:          ring_trans/2,
           run_fixups/3,
           set_cluster_name/1,
           stop/0]).
  
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
          terminate/2, code_change/3]).
  
negative.code: handle_call({set_cluster_name, Name}, _From, State=#state{raw_ring=Ring}) ->
      NewRing = riak_core_ring:set_cluster_name(Ring, Name),
      State2 = prune_write_notify_ring(NewRing, State),
      {reply, ok, State2};
  handle_call(is_stable_ring, _From, State) ->
      {IsStable,_DeltaMS} = is_stable_ring(State),
      {reply, IsStable, State}.
  
  handle_cast(stop, State) ->
      {stop,normal,State};
  