[ 
https://issues.apache.org/jira/browse/COUCHDB-3088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15402534#comment-15402534
 ] 

ASF subversion and git services commented on COUCHDB-3088:
----------------------------------------------------------

Commit 884cf3e55f77ab1a5f26dc7202ce21771062eae6 in couchdb-couch-replicator's 
branch refs/heads/master from [~iilyak]
[ 
https://git-wip-us.apache.org/repos/asf?p=couchdb-couch-replicator.git;h=884cf3e
 ]

Inject random delays in scan_all_dbs

couch_replication_server scans filesystem to find all _replication
databases. For every database found it does

    gen_server:cast(Server, {resume_scan, DbName})

Extract independent process where we do gen_server:cast after a random delay.
This effectively removes stampede and randomizes the order in which we
process _replication databases.

COUCHDB-3088


> restart of couch_replication_server causes a stampede
> -----------------------------------------------------
>
>                 Key: COUCHDB-3088
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-3088
>             Project: CouchDB
>          Issue Type: Bug
>            Reporter: ILYA
>
> couch_replication_server scans all files in database_dir searching for files 
> matching "_replicator.<number>.couch". For every _replication db it does 
> gen_server:cast(Server, {resume_scan, DbName}). This creates a stampede 
> effect and causes sharp load spikes on the replication cluster. The problem 
> get worse if you migrate from older version of couchdb. In this case there is 
> a logic which injects validation ddoc into every _replication db. Causing a 
> spike in [couchdb, database_writes] metric. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to