You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by fd...@apache.org on 2010/10/02 21:36:52 UTC

svn commit: r1003872 - /couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl

Author: fdmanana
Date: Sat Oct  2 19:36:52 2010
New Revision: 1003872

URL: http://svn.apache.org/viewvc?rev=1003872&view=rev
Log:
New replicator: reducing the number of messages sent to a replicator gen_server.

Modified:
    couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl

Modified: couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl?rev=1003872&r1=1003871&r2=1003872&view=diff
==============================================================================
--- couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl (original)
+++ couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl Sat Oct  2 19:36:52 2010
@@ -271,9 +271,15 @@ do_init(#rep{options = Options} = Rep) -
 
 
 handle_info({seq_start, {Seq, NumChanges}}, State) ->
-    SeqsInProgress2 = gb_trees:insert(Seq, NumChanges,
-        State#rep_state.seqs_in_progress),
-    {noreply, State#rep_state{seqs_in_progress = SeqsInProgress2}};
+    #rep_state{
+        seqs_in_progress = SeqsInProgress,
+        stats = #rep_stats{missing_checked = Mc} = Stats
+    } = State,
+    NewState = State#rep_state{
+        seqs_in_progress = gb_trees:insert(Seq, NumChanges, SeqsInProgress),
+        stats = Stats#rep_stats{missing_checked = Mc + NumChanges}
+    },
+    {noreply, NewState};
 
 handle_info({seq_changes_done, Changes}, State) ->
     {noreply, process_seq_changes_done(Changes, State)};
@@ -505,7 +511,6 @@ spawn_changes_reader(Cp, StartSeq, Sourc
             couch_api_wrap:changes_since(Source, all_docs, StartSeq,
                 fun(#doc_info{high_seq=Seq, revs=Revs} = DocInfo) ->
                     Cp ! {seq_start, {Seq, length(Revs)}},
-                    Cp ! {add_stat, {#rep_stats.missing_checked, length(Revs)}},
                     ok = couch_work_queue:queue(ChangesQueue, DocInfo)
                 end, Options),
             couch_work_queue:close(ChangesQueue)