anchor.diff:          end
       end.
   
  -owner(<<"shards/", _/binary>> = DbName, DocId) ->
  -    Live = [node()|nodes()],
  +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) ->
  +owner(_DbName, _DocId, _Live) ->
       true.
   
   rep_db_update_error(Error, DbName, DocId) ->
  
positive.code:     event_listener = nil,
      scan_pid = nil,
      rep_start_pids = [],
      max_retries
  }).
  
  start_link() ->
  
negative.code:     couch_event:stop_listener(Listener).
  
  
  code_change(1, State, _Extra) ->
      {ok, erlang:append_element(State, [node() | nodes()])};
  code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
  