anchor.diff:  -export([prepare_new_urls/1,
            update_redis/1,
            prepare_url_update/2,
  -         attempt_to_commit_url_update/1
  +         attempt_to_commit_url_update/1,
  +         make_update_permanent/1
           ]).
   
   -include("logplex.hrl").
  
positive.code: 
  handle_call({prepare, {new_shard_info, OldNewMap}}, _From, State) ->
      {reply, prepare_new_shard_info(OldNewMap), State};
  
  handle_call(consistency_check, _From, State = #state{urls = Urls}) ->
      {reply, try consistent(Urls)
  
negative.code: abort_url_update(Nodes) ->
      [ {N, catch gen_server:call({?MODULE, N}, {abort, new_shard_info})}
        || N <- Nodes].
  
  make_update_permanent(Nodes) ->
      [ {N, catch gen_server:call({?MODULE, N},
                                  {make_permanent, new_shard_info})}
        || N <- Nodes].
  
  stop_pool(Pid) ->
      redo:shutdown(Pid).
  
  stop_buffer(Pid) ->
      logplex_queue:stop(Pid).
  