On 10 Feb 2009, at 23:10, Barry Wark wrote:

On Tue, Feb 10, 2009 at 12:34 PM, Chris Anderson <[email protected]> wrote:
On Tue, Feb 10, 2009 at 12:09 PM, Paul Davis
<[email protected]> wrote:

Trunk has support for streaming writes when a Content-Length header is
present. Chris Anderson was just working the other day on streaming
writes to disk in the absence of a Content-Length header. That
basically means that if your HTTP client sends a content-length
header, the sky's the limit. If you don't send a Content-Length
header, you'll be limited by the available RAM on the machine running
CouchDB until Chris finishes his patch.

Just to clear up, currently attachment PUTs without Content-Length
headers are rejected. I think that we fixed the RAM buffering issue
after all:

https://issues.apache.org/jira/browse/COUCHDB-189 (fixed)

So if you know the length of the attachment, PUT should work for you
no matter how big it is.

Very cool. What about reading the attachment? Is there a significant
performance hit for streaming the attachment out of the database as
opposed to reading the data directly out of a separate file?

We don't use sendfile() yet, so it is not optimal, but overhead is minimal.

Cheers
Jan
--

Reply via email to