couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Smith <...@couch.io>
Subject No heartbeat during filtered replication
Date Thu, 19 Aug 2010 21:27:36 GMT
Not sure if this is a bug yet so I'm running it by the list.

I believe couchdb is sometimes not sending a heartbeat during _changes. For

    /_changes?feed=continuous&filter=ddoc/a_filter&heartbeat=1000&since=0

If the database has millions of documents but the filter only returns
a very small number of them, considerable time will pass between
change updates, possibly well longer than the requested heartbeat. It
is not easy to tell whether the server or network link is down, or
whether there is hardcore filtering action.

I glanced at couch_changes.erl and keep_sending_changes/7 seems to try
to send the entire change set to date, and only then start sending
heartbeats after a timeout. Is this a correct assessment? If so I'll
put it in JIRA.
It would be nice for an AJAX client to simply specify a heartbeat and
then setTimeout(die, heartbeat*1.1) or whatever. If the timeout fires
before data arrives, that situation can be handled.

Thanks!

--
Jason Smith
Couchio Hosting

Mime
View raw message