Details
-
Sub-task
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
1.0.2
-
None
-
Mac OS X Snow Leopard, Ubuntu 10.10.
Description
CouchDB behaves erroneously when doing a GET request with Content-Length header to long polling changes feed with filter set.
Easiest way to reproduce:
1. Create a new DB
2. Create a single design doc with a filter that just returns true
3. Query database with curl: curl -v -H "Content-Length: 123" http://localhost:5984/database/_changes?feed=longpoll&filter=designdoc/filter
At this point CouchDB behaves strangely. It does not wait for the client to feed the Content-Length bytes of content (which I think is correct, since GET should not have payload), instead, it returns 200 OK and starts the response with '{"results":['. However, no changes done to database ever get emitted and the connection never gets closed, not even if explicit timeout is set upon the request.