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/05 20:25:08 UTC

svn commit: r1004758 - in /couchdb/branches/new_replicator: etc/couchdb/default.ini.tpl.in src/couchdb/couch_replicator.erl src/couchdb/couch_replicator_doc_copiers.erl src/couchdb/couch_replicator_rev_finders.erl

Author: fdmanana
Date: Tue Oct  5 18:25:07 2010
New Revision: 1004758

URL: http://svn.apache.org/viewvc?rev=1004758&view=rev
Log:
New replicator: add better default values and .ini option "buffer_size".

Modified:
    couchdb/branches/new_replicator/etc/couchdb/default.ini.tpl.in
    couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl
    couchdb/branches/new_replicator/src/couchdb/couch_replicator_doc_copiers.erl
    couchdb/branches/new_replicator/src/couchdb/couch_replicator_rev_finders.erl

Modified: couchdb/branches/new_replicator/etc/couchdb/default.ini.tpl.in
URL: http://svn.apache.org/viewvc/couchdb/branches/new_replicator/etc/couchdb/default.ini.tpl.in?rev=1004758&r1=1004757&r2=1004758&view=diff
==============================================================================
--- couchdb/branches/new_replicator/etc/couchdb/default.ini.tpl.in (original)
+++ couchdb/branches/new_replicator/etc/couchdb/default.ini.tpl.in Tue Oct  5 18:25:07 2010
@@ -118,3 +118,5 @@ compressible_types = text/*, application
 [replicator]
 ; should be at least 2
 worker_processes = 10
+; integer value in bytes
+buffer_size = 1048576
\ No newline at end of file

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=1004758&r1=1004757&r2=1004758&view=diff
==============================================================================
--- couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl (original)
+++ couchdb/branches/new_replicator/src/couchdb/couch_replicator.erl Tue Oct  5 18:25:07 2010
@@ -217,8 +217,10 @@ do_init(#rep{options = Options} = Rep) -
         start_seq = StartSeq
     } = State = init_state(Rep),
 
+    QueueSize = round(
+        (?l2i(couch_config:get("replicator", "buffer_size", "1048576"))) / 2),
     {ok, MissingRevsQueue} = couch_work_queue:new(
-        [{max_size, 100000}, {max_items, 2000}, {multi_workers, true}]),
+        [{max_size, QueueSize}, {multi_workers, true}]),
 
     {RevFindersCount, CopiersCount} = case ?l2i(
         couch_config:get("replicator", "worker_processes", "10")) of
@@ -227,13 +229,13 @@ do_init(#rep{options = Options} = Rep) -
             "should be at least 2", []),
         {1, 1};
     N ->
-        {N div 2, (N div 2) + (N rem 2)}
+        {lists:max([N div 3, 1]), lists:max([2 * (N div 3) + (N rem 3), 1])}
     end,
 
     case get_value(doc_ids, Options) of
     undefined ->
         {ok, ChangesQueue} = couch_work_queue:new(
-            [{max_size, 100000}, {max_items, 500}, {multi_workers, true}]),
+            [{max_size, QueueSize}, {multi_workers, true}]),
 
         % This starts the _changes reader process. It adds the changes from
         % the source db to the ChangesQueue.

Modified: couchdb/branches/new_replicator/src/couchdb/couch_replicator_doc_copiers.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/new_replicator/src/couchdb/couch_replicator_doc_copiers.erl?rev=1004758&r1=1004757&r2=1004758&view=diff
==============================================================================
--- couchdb/branches/new_replicator/src/couchdb/couch_replicator_doc_copiers.erl (original)
+++ couchdb/branches/new_replicator/src/couchdb/couch_replicator_doc_copiers.erl Tue Oct  5 18:25:07 2010
@@ -17,7 +17,7 @@
 -include("couch_db.hrl").
 -include("couch_api_wrap.hrl").
 
--define(DOC_BATCH_SIZE, 50).
+-define(DOC_BATCH_SIZE, 1000).
 
 
 

Modified: couchdb/branches/new_replicator/src/couchdb/couch_replicator_rev_finders.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/new_replicator/src/couchdb/couch_replicator_rev_finders.erl?rev=1004758&r1=1004757&r2=1004758&view=diff
==============================================================================
--- couchdb/branches/new_replicator/src/couchdb/couch_replicator_rev_finders.erl (original)
+++ couchdb/branches/new_replicator/src/couchdb/couch_replicator_rev_finders.erl Tue Oct  5 18:25:07 2010
@@ -16,7 +16,7 @@
 
 -include("couch_db.hrl").
 
--define(REV_BATCH_SIZE, 100).
+-define(REV_BATCH_SIZE, 3000).