anchor.diff:      %% Pull the new chain from the target map
       %% Update the current map
       Map1 = array:set(VBucket, NewChain, Map),
  +    ns_bucket:set_map(Bucket, array_to_map(Map1)),
       spawn_workers(State#state{movers=Movers1, map=Map1});
   handle_info({'EXIT', _, normal}, State) ->
       {noreply, State};
  
positive.code: handle_info(spawn_initial, State) ->
      spawn_workers(State);
  handle_info({move_done, {Node, VBucket, OldChain, NewChain}},
              #state{movers=Movers, map=Map} = State) ->
      %% Update replication
      update_replication_post_move(VBucket, OldChain, NewChain),
      %% Free up a mover for this node
  
negative.code:     {noreply, State}.
  
  
  terminate(_Reason, #state{map=MapArray}) ->
      sync_replicas(),
      TotalChanges = erlang:get(total_changes),
      ActualChanges = erlang:get(actual_changes),
      ?log_info("Savings: ~p (from ~p)~n", [TotalChanges - ActualChanges, TotalChanges]),
  
      %% By this time map is already updated (see move_done handler)
      ?log_info("Final map is ~p", [array_to_map(MapArray)]),
      ok.
  
  
  