Hi Andreas,

with continuous replications and an ever changing dataset there is no point 
where you can tell your replication is "up-to-date" in terms of "100% 
replicated" as replication always happens after the data has been written to 
the source database. (which is a good thing)

You need to change the way you measure the up-to-date-ness. Instead of 
measuring the percentage of completion you should better me sure the lag of 
changes. e.g. targetDB is N changes behind sourceDB. 

With couchdb 1.2 you get this number with a single request to /_active_tasks by 
calculating a replications "source_seq" - "checkpointed_source_seq". Prior to 
1.2 you can get this number too but its a more difficult because you have to 
know the replications _local ID and check the "source_last_seq" field in the 
replications session document… 

Once you have the "lag of changes" for your continuous replications its a good 
thing to graph it with some monitoring tool to get a big picture of how 
replication performance is going through the day.

- mathias

On Jul 12, 2012, at 1:31 , Andreas Kemkes wrote:

> I wanted to follow up on this thread as I'm still experience difficulties 
> using the feature and would like some advise how to best deal with the 
> situation.
> 
> The goal is to break up a monolithic database into multiple, which was 
> achieved after a lot of trial and error.  Now the quest is to keep it in sync 
> for a while by using filtered, continuous replications.  Yet the replication 
> gets stuck on the last sequence number that passes the filter.  In the Futon 
> UI, I see:
> 
> Checkpointed source sequence 165850, current source sequence 166253, progress 
> 99%
> 
> If I start a non-continuous replication with the exact same parameters, it 
> returns:
> 
> 
> {
>     "ok": true,
>     "no_changes": true,
>     "session_id": ...,
>     "source_last_seq": 165850,
>     "replication_id_version": 2,
> ...
> }
> It apparently knows that there are no changes and it knows the current source 
> sequence.  Why could it not move the checkpointed source sequence forward to 
> match the current source sequence?  What am I missing?
> 
> Unless there is an exact match between checkpointed and current source 
> sequence, how would one ever know if a replication is up-to-date?
> 
> -- Andreas
> 
> 
> ________________________________
> From: Filipe David Manana <[email protected]>
> To: [email protected]; Andreas Kemkes <[email protected]> 
> Sent: Thursday, June 21, 2012 12:40 PM
> Subject: Re: Replication and checkpoints - what to expect?
> 
>> The same should be true for filtered replications if there is no applicable 
>> document between the current source sequence and the last checkpoint.  
>> Otherwise you would be always wondering if it has been replicated entirely.
> 
> That's harder. With filtered replication, we only know about sequence
> numbers of changes that pass the filter.

Reply via email to