You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Dave Cottlehuber (JIRA)" <ji...@apache.org> on 2012/06/13 09:11:43 UTC

[jira] [Commented] (COUCHDB-1496) Incomplete Replication on Several Circumstances

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

Dave Cottlehuber commented on COUCHDB-1496:
-------------------------------------------

Thanks for logging this issue Maya. A common issue is that the replication filter does not pass _deleted documents; CouchDB
effectively tombstones deleted docs by replacing the content with {"_id": myid", "_deleted": true} so you need to ensure these
pass through the filter even if the original doc does not.

Can you please attach a sample document, the replication filter you are using, and also the replication syntax you're using?

                
> Incomplete Replication on Several Circumstances
> -----------------------------------------------
>
>                 Key: COUCHDB-1496
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1496
>             Project: CouchDB
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: iriscouch
>            Reporter: Maya Alipin
>            Priority: Minor
>
> I have found that on several circumstances, CouchDB's continous filtered replication doesn't do what I expect.
> 1. deleted documents in source database ends up not deleted in destination database
> 2. I notice on continuous replication, the replication status will remain incomplete until check-pointed sequence equals source sequence. On continuous filtered replication, an update may not pass the filter and cause the replication to become incomplete. 
> I found the replication remains incomplete even if there is an update that pass the filter. I need to restart the replication to get the update replicated to the destination database.
> Test Scenario:
> 1. Trigger a filtered continuous replication from database X to database Y on _replicator database. Replication progress is 100%
> 2. Add new document(A1) on database X. 
> 3. Document A1 pass the replication filter, thus A1 is replicated to database Y. Replication progress is 100%
> 4. Delete document A1 on database X. Replication progress become 99%, document A1 still exists on database Y.
> 6. Restart the filtered continuous replication from database X to database Y by deleting document on _replicator database and create it again
> 7. Replication progress stops at 99%.
> 8. Add new document(A2) on database X. 
> 9. Document A2 pass the replication filter, thus A2 is replicated to database Y. Replication progress become 100%
> 10. Delete document A2 on database X. Replication progress become 99%, document A2 still exists on database Y.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira