anchor.diff:  
   %% We intentionally don't handle other exits so we'll die if one of
   %% the movers fails.
  -handle_info({_, _, maybe_sync_changes}, #state{previous_changes = PrevChanges} = State) ->
  -    Changes = erlang:get('replicas_changes'),
  -    case Changes =:= [] orelse Changes =/= PrevChanges of
  -        true -> {noreply, State#state{previous_changes = Changes}};
  -        _ ->
  -            sync_replicas(),
  -            {noreply, State#state{previous_changes = []}}
  -    end;
   handle_info({timeout, _, log_tap_stats}, State) ->
       rpc:eval_everywhere(diag_handler, log_all_tap_and_checkpoint_stats, []),
       misc:flush(log_tap_stats),
  
positive.code: 
  init({Bucket, OldMap, NewMap, ProgressCallback}) ->
      erlang:put(i_am_master_mover, true),
      erlang:put(replicas_changes, []),
      erlang:put(bucket_name, Bucket),
      erlang:put(total_changes, 0),
      erlang:put(actual_changes, 0),
      erlang:put(child_processes, []),
  
      %% Dictionary mapping old node to vbucket and new node
  
negative.code:         _ ->
              ?log_error("Config replication sync failed: ~p", [RepSyncRV])
      end,
      OldCopies0 = OldChain -- NewChain,
      OldCopies = [OldCopyNode || OldCopyNode <- OldCopies0,
                                  OldCopyNode =/= undefined],
  