anchor.diff:      couch_event:stop_listener(Listener).
   
   
  +code_change(1, State, _Extra) ->
  +    {ok, erlang:append_element(State, [node() | nodes()])};
   code_change(_OldVsn, State, _Extra) ->
       {ok, State}.
   
  
positive.code:     event_listener = nil,
      scan_pid = nil,
      rep_start_pids = [],
      max_retries
  }).
  
  start_link() ->
  
negative.code:         end
      end.
  
  owner(<<"shards/", _/binary>> = DbName, DocId, Live) ->
      Nodes = lists:sort([N || #shard{node=N} <- mem3:shards(mem3:dbname(DbName), DocId),
  			     lists:member(N, Live)]),
      node() =:= hd(mem3_util:rotate_list({DbName, DocId}, Nodes));
  owner(_DbName, _DocId, _Live) ->
      true.
  
  rep_db_update_error(Error, DbName, DocId) ->
  