You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2017/03/14 20:50:04 UTC

[6/8] couch-replicator commit: updated refs/heads/63012-scheduler to eda73a2

Revert "Don't scan empty replicator databases"

This reverts commit 46aa27fa674a4c1e590aeecd76123e4f91d78fd5.


Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-replicator/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-replicator/commit/f63efa78
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-replicator/tree/f63efa78
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-replicator/diff/f63efa78

Branch: refs/heads/63012-scheduler
Commit: f63efa786fec5cc40e6c6193470399da99385abf
Parents: 46aa27f
Author: Nick Vatamaniuc <va...@apache.org>
Authored: Fri Mar 10 01:13:28 2017 -0500
Committer: Nick Vatamaniuc <va...@apache.org>
Committed: Fri Mar 10 01:13:28 2017 -0500

----------------------------------------------------------------------
 src/couch_replicator_manager.erl | 46 +++--------------------------------
 1 file changed, 3 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-couch-replicator/blob/f63efa78/src/couch_replicator_manager.erl
----------------------------------------------------------------------
diff --git a/src/couch_replicator_manager.erl b/src/couch_replicator_manager.erl
index 9f17087..2bcad69 100644
--- a/src/couch_replicator_manager.erl
+++ b/src/couch_replicator_manager.erl
@@ -266,17 +266,9 @@ handle_cast({resume_scan, DbName}, State) ->
             end,
             true = ets:insert(?DB_TO_SEQ, {DbName, Since, false}),
             ensure_rep_ddoc_exists(DbName),
-            case has_replication_docs(DbName) of
-                false ->
-                    %% the database is empty save for the rep_ddoc,
-                    %% don't bother scanning it.
-                    couch_log:debug("ignoring empty ~s", [DbName]),
-                    Pids;
-                true ->
-                    Pid = start_changes_reader(DbName, Since, State#state.epoch),
-                    couch_log:debug("Scanning ~s from update_seq ~p", [DbName, Since]),
-                    [{DbName, Pid} | Pids]
-            end
+            Pid = start_changes_reader(DbName, Since, State#state.epoch),
+            couch_log:debug("Scanning ~s from update_seq ~p", [DbName, Since]),
+            [{DbName, Pid} | Pids]
     end,
     {noreply, State#state{rep_start_pids = NewPids}};
 
@@ -1013,38 +1005,6 @@ get_json_value(Key, Props, Default) when is_binary(Key) ->
     end.
 
 
-has_replication_docs(DbName) ->
-    {ok, Db} = couch_db:open(DbName, []),
-    try
-        case couch_db:get_doc_count(Db) of
-            {ok, 0} ->
-                false;
-            {ok, 1} ->
-                case first_doc_id(Db) of
-                    <<"_design/_replicator">> ->
-                        false;
-                    _Else ->
-                        true
-                end;
-            _Else ->
-                true
-        end
-    after
-        couch_db:close(Db)
-    end.
-
-
-first_doc_id(#db{} = Db) ->
-    Fun = fun
-        (#full_doc_info{deleted = true}, _Reds, Acc) ->
-            {ok, Acc};
-        (FDI, _Reds, _Acc) ->
-            {stop, FDI#full_doc_info.id}
-    end,
-    {ok, _, Id} = couch_btree:fold(Db#db.id_tree, Fun, nil, []),
-    Id.
-
-
 -ifdef(TEST).
 
 -include_lib("couch/include/couch_eunit.hrl").