[ 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