couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Joseph Davis (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1289) heartbeats skipped when continuous changes feed filter function produces no results
Date Mon, 19 Sep 2011 19:08:09 GMT


Paul Joseph Davis commented on COUCHDB-1289:

There are two aspects to this that need to be considered. We've fixed both of these in BigCouch
but I'm not sure if we've the first one.

The first one is that if you have a large range of documents (ordered by update seq) that
fail to pass a filter, there will be no heartbeat sent. Basically, the changes feed thinks
its making process all hunky dory but nothing is being sent, and we never checked that its
taking us too long to filter all these docs.

The second version of this is slightly more insidious. Basically, the timeouts we had in BigCouch
were receive timeouts in two places (no db updates, and while processing in case everything
is filtered). What can end up happening is that updates to the db can end up trickling in
that all fail to make it through the filter function. This means that the changes loop thinks
its working again but is not hitting either timeout clause to send the heartbeat.

The clustered calls in BigCouch are different enough that the patches aren't exactly applicable,
but reading the code, CouchDB is at least susceptible to the second version and possible the
first as well.

> heartbeats skipped when continuous changes feed filter function produces no results
> -----------------------------------------------------------------------------------
>                 Key: COUCHDB-1289
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core
>            Reporter: Bob Dionne
>            Assignee: Bob Dionne
>            Priority: Minor
> 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.
For more information on JIRA, see:


View raw message