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

Filipe Manana commented on COUCHDB-1289:
----------------------------------------

Looks good Bob, only a small regression compared to the previous versions, 
which is:

The last time a row was sent is never reset to "now()" once the filter function 
returns true. Basically the maybe_timeout(true, ...) function clause is never 
used in this new version.
This could cause unnecessary timeouts when the filter functions returns false 
several times in a row, then returns true (1 or more times in a row) and then 
starts returning false again. Here's what I mean:

https://github.com/fdmanana/couchdb/commit/31c80e34875932969716791b4b8adf374d240821

A test for this case would be awesome :)

Thanks for working on this, this has been affecting many users for a long time 
(when doing filtered replications).
                
> heartbeats skipped when continuous changes feed filter function produces no 
> results
> -----------------------------------------------------------------------------------
>
>                 Key: COUCHDB-1289
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1289
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core
>            Reporter: Bob Dionne
>            Assignee: Bob Dionne
>            Priority: Minor
>         Attachments: 0001-Ensure-heartbeats-are-not-skipped.patch, 
> 0002-Failing-etap-for-heartbeats-skipped.patch
>
>
> if the changes feed has a filter function that produces no results, 
> db_updated messages will still be sent and the heartbeat timeout will never 
> be reached.

--
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

        

Reply via email to