You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2016/08/15 06:59:20 UTC

[jira] [Commented] (COUCHDB-3104) Replicator manager does not checkpoint properly

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

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

Commit 40a087630b9b6688fe2db87f1e8adc7972c4a0c9 in couchdb-couch-replicator's branch refs/heads/3104-fix-replicator-manager-changes-feed-checkpoint from [~vatamane]
[ https://git-wip-us.apache.org/repos/asf?p=couchdb-couch-replicator.git;h=40a0876 ]

Fix replicator manager `stop` change feed callback

```
changes_reader_cb({stop, EndSeq, _Pending}, ...) ->
   ...
```

at one point used to handle changes from `fabric:changes`. It was later
optimized to use shard change feeds, but shard change feed callbacks don't get
pending info with the `stop` message.

As a result replicator manager would always rescan all the changes in a shard
on any new change.

For reference, where `couch_changes.erl` calls the callback:
 https://github.com/apache/couchdb-couch/blob/master/src/couch_changes.erl#L654

Jira: COUCHDB-3104


> Replicator manager does not checkpoint properly
> -----------------------------------------------
>
>                 Key: COUCHDB-3104
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-3104
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 2.0.0
>            Reporter: Nick Vatamaniuc
>
> In couch_replicator_manager {code} changes_reader_cb({stop, EndSeq, _Pending}, ...) -> {code} function at one point in the past was handling callback messages from {{fabric:change}} and so it would get pending info in the callback messages. When it was optimized to use local shard, local changes feeds don't send stop messages.
> As a result replicator manager never checkpoints and on every change to a replicator shard, rescan all the changes in that shard.



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