anchor.diff:      {ok, Pid} = start_update_notifier(),
       spawn(fun initial_sync/0),
       {ok, #state{limit = list_to_integer(Concurrency), update_notifier=Pid}}.
  +
  +handle_call({push, Job}, From, State) ->
  +    {noreply, handle_cast({push, Job#job{pid = From}}, State)};
   
   handle_call(get_active, _From, State) ->
       {reply, State#state.active, State};
  
positive.code:     end,
      {noreply, NewState}.
  
  start_push_replication(#job{name=Name, node=Node}) ->
      spawn_link(mem3_rep, go, [Name, Node]).
  
  add_to_queue(State, #job{name=DbName, node=Node} = Job) ->
  
negative.code:     SplitFun = fun(#shard{node = Node}) -> Node =:= LocalNode end,
      {Local, Remote} = lists:partition(SplitFun, Shards),
      lists:foreach(fun(#shard{name = ShardName}) ->
          [sync_push(ShardName, N) || #shard{node=N, name=Name} <- Remote,
              Name =:= ShardName, lists:member(N, Live)]
      end, Local).
  
  sync_push(ShardName, N) ->
      gen_server:call(mem3_sync, {push, #job{name=ShardName, node=N}}, infinity).
  
  start_update_notifier() ->
      Db1 = ?l2b(couch_config:get("mem3", "node_db", "nodes")),
  