couchdb-replication mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dale Harvey <d...@arandomurl.com>
Subject Re: Question on replication process
Date Tue, 08 Jul 2014 13:46:39 GMT
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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message