couchdb-replication mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Traun Leyden <traun.ley...@gmail.com>
Subject Re: Question on replication process
Date Tue, 08 Jul 2014 13:52:18 GMT

Thanks!

> On Jul 8, 2014, at 6:46 AM, Dale Harvey <dale@arandomurl.com> wrote:
> 
> If _revs_diff is empty, then yes 5 and 6 arent needed, as they mention they
> operate on the result of the revs_diff, if theres nothing to operate on
> 
> You can skip 7 it just means you miss the optimisation and next time you do
> replication you will replicate redundant documents, checkpointing is purely
> an optmisation to reduce the number of redundant document replications
> 
> 
>> On 8 July 2014 14:42, Traun Leyden <traun.leyden@gmail.com> wrote:
>> 
>> I'm working on a 3rd party replication tool
>> <https://github.com/couchbaselabs/sg-replicate> in Go (currently Sync
>> Gateway compatible, but hopefully one day will be CouchDB compatible as
>> well), and I have a question on the replication process.
>> 
>> From this replication algorithm description
>> <https://github.com/couchbaselabs/TouchDB-iOS/wiki/Replication-Algorithm>
>> and ladder diagram <http://cl.ly/image/1v013o210345>, if the
>> _rev_diffs response is empty, should it then skip steps 5 and 6 since there
>> is nothing to transfer and go straight to step 7?  (using the last_seq
>> value that was returned from source db _changes feed in step 3)
>> 
>> Or should it skip step 7 too and do another _changes request?
>> 
>> I'm guessing it's the former, since it seems like it should be safe to
>> forward the checkpoint if the _rev_diffs response is empty.  I haven't had
>> a chance to study the CouchDB replicator behavior yet, and thought someone
>> here might know off the top of their head.
>> 

Mime
View raw message