anchor.diff:      {Changed, CState3}.
   
   %% @private
  -reassign_indices(CState) ->
  +reassign_indices(CState, Log) ->
       Next = riak_core_ring:pending_changes(CState),
       Invalid = riak_core_ring:members(CState, [invalid]),
       CState2 =
           lists:foldl(fun(Node, CState0) ->
  -                            remove_node(CState0, Node, invalid)
  +                            remove_node(CState0, Node, invalid, Log)
                       end, CState, Invalid),
       CState3 = case Next of
                     [] ->
                         Leaving = riak_core_ring:members(CState, [leaving]),
                         lists:foldl(fun(Node, CState0) ->
  -                                          remove_node(CState0, Node, leaving)
  +                                          remove_node(CState0, Node, leaving, Log)
                                     end, CState2, Leaving);
                     _ ->
                         CState2
  
positive.code:             CState2 =
                  lists:foldl(fun(ENode, CState0) ->
                                      %% Tell exiting node to shutdown.
                                      CName = riak_core_ring:cluster_name(CState),
                                      riak_core_ring_manager:refresh_ring(ENode,
                                                                          CName),
                                      riak_core_ring:set_member(Node, CState0, ENode,
                                                                invalid, same_vclock)
                              end, CState, Exiting),
  
negative.code: %% =========================================================================
  
  ring_changed(Node, CState) ->
      {Changed, CState5} = do_claimant(Node, CState, fun log/2),
      inform_removed_nodes(Node, CState, CState5),
  
      %% Start/stop converge and rebalance delay timers
      %% (converge delay)
  