On 28 March 2011 16:36, Matt Goodall <[email protected]> wrote: > On 28 March 2011 13:32, Jyrki Pulliainen <[email protected]> wrote: > >> Hi, >> >> I've run into a strange bug with longpoll changes feed, using OS X. I >> can not reproduce this bug on Ubuntu Linux running the same version of >> CouchDB. This has been verified on two different OS X computers, both >> running Snow Leopard in both, 32 bit mode and 64 bit. The other one >> has the Couchbase version of CouchDB installed, the other one has one >> installed via homebrew. >> >> Problem is following: I have my own CouchDB driver for Tornado >> Asynchronous web framework called Trombi[1]. It's basically just a >> wrapper around HTTP calls to CouchDB, making them play nicely with the >> asynchronous nature of Tornado (unlike other Python CouchDB >> libraries). I've made a test[2] that opens up longpolling changes feed >> and writes a document in database and then waits to receive the same >> document via changes feed listener. What happens is that the changes >> feed listener never gets the reply or if it gets one, it is empty (ie. >> rows: []). >> >> First guess was the the use of pycurl (and thus libcurl) to be the >> problem, but after switching to pure Python SimpleHTTPClient offered >> by Tornado the problem persisted. Next I blamed it on Tornado >> framework, but further inspection using tcpdump and tcpflow revealed >> that the CouchDB actually produces an erroneous reply, an empty >> changes feed result (even though there should be at least one change). >> >> Has anyone bumped in to a similiar problem? I can't reproduce this on >> command line with pycurl, only with my tests. To simply reproduce this >> yourself, just clone Trombi[1], check out branch >> wip/simple-httpclient-compatibility, install tornado, nosetests and >> pycurl via pip/easy_install and make sure you have couchdb binary in >> PATH. After this, just run nosetests -v and the tests should stall on >> the test mentioned before[2]. >> > > I hit an issue on Linux so it's probably unrelated, but this sounds similar > to a problem I recently came across with the _changes feed when using a > filter and limit=1. > > It's been fixed in the 1.0.x branch but I don't think it's in an official > release yet. See, > https://github.com/apache/couchdb/commit/6d8f063e2d05a3edaf029b857a7af3f86bd6e8bc > .
Yeah, the symptoms match on that one. However, I'm not sending limit, but looking at the patch that could affect my problem too. I just have to figure out how to compile CouchDB manually :) - Jyrki
