anchor.diff:      end.
   
   handle_info({push_keys, Keys0}, State) ->
  -    accumulate_push_keys_and_get_config(Keys0, 10),
  +    accumulate_and_push_keys(Keys0, 10),
       {noreply, State};
   handle_info({pull_and_push, Nodes}, State) ->
       ?log_info("Replicating config to/from:~n~p", [Nodes]),
  
positive.code:             %% ordering of these messages is irrelevant so we can
              %% resend and retry
              self() ! Msg,
              accumulate_push_keys_and_get_config(Keys, RetriesLeft-1)
      after 0 ->
              %% we know that AllConfigKV has exactly changes we've seen
              %% with {push_keys, ...}. I.e. there's no way config
  
negative.code:     KVs = lists:sort(ns_config:get_kv_list()),
      Keys = [K || {K, _} <- KVs],
      do_push_keys(Keys, KVs);
  accumulate_and_push_keys(Keys0, RetriesLeft) ->
      Keys = accumulate_push_keys(Keys0),
      AllConfigKV = ns_config:get_kv_list(),
      %% the following ensures that all queued ns_config_events_local
  