The wiki docs on the _changes feed say that "A continuous feed stays open and connected to the database until explicitly closed” [1]. However, what I’m seeing is that after 60 seconds an entry with a “last-seq” key is sent, and 30 seconds after that the server closes the socket. Here’s a transcript, where the database was otherwise idle while this was running:

$ curl 'http://localhost:5984/demo-addresses/_changes?feed=continuous&since=0’
{"seq":24,"id":"5abe51dc0bcf10aade90f0d190151afe","changes":[{"rev":"3-3b0a8a712d1ba2e95a861ba7d940ff00"}],"deleted":true}
{"seq":26,"id":"5abe51dc0bcf10aade90f0d190347c12","changes":[{"rev":"2-5ba03e912ebd8ebc7a6ccaf53f5ad370"}],"deleted":true}
{"seq":27,"id":"5abe51dc0bcf10aade90f0d190348099","changes":[{"rev":"1-c22c26c730061cf8def96731927e4fd7"}]}
{"seq":29,"id":"5abe51dc0bcf10aade90f0d190348a49","changes":[{"rev":"2-f82a41168f1e4a438415a9cd8fcdace6"}]}
{"last_seq":29}

$

I’m guessing that, contrary to the docs, there is a default timeout in continuous mode, and I’ll have to add something like “&timeout=9999999999” to the URL to defeat this?

(This is the 1.1.1 CouchBase Server Community Edition, on Mac OS X 10.6.7.)

—Jens

[1] http://wiki.apache.org/couchdb/HTTP_database_API#Changes