incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <kocol...@apache.org>
Subject Re: COUCHDB-161 Range Request support for attachments
Date Thu, 29 Oct 2009 15:21:12 GMT
Hi Jens, you seem like you're on the right track.  pread_iolist  
determines the block length and binds it to the Len variable, so in  
principle you could add another couch_file function which just did  
that part but skipped the actual reading of the data:

block_length(Fd, Pos) ->
     {ok, LenIolist, NextPos} = read_raw_iolist(Fd, Pos, 4),
     <<_:1/integer, Len:31/integer>> = iolist_to_binary(LenIoList),
     Len.

Of course this would disable MD5 validation on the skipped bytes; I'm  
not sure if anyone has discussed the ramifications.  Best,

Adam

On Oct 29, 2009, at 5:14 AM, jens.riemschneider@icw.de wrote:

> Hi Jan,
>
> I found some time to look into the code and I have a rough idea on how
> this can be implemented. As far as I understand, an attachment is  
> stored
> in blocks and then contains data on where those blocks can be found on
> disk. The actual length of the block is stored on disk. Therefore, the
> attachment basically has a list of starting positions of the blocks.  
> Only
> the lower level functions (such as pread_iolist) know the actual  
> length of
> the blocks. Therefore, I will need to first determine the block  
> lengths,
> then determine which blocks fall into the requested range and finally
> trigger the sending of those blocks. I could not find any way to get  
> the
> block lengths yet, so I will have to implement this. Am I on the right
> track or do you think there is some other functionality in the current
> implementation that I could use for this?
>
> Thanks,
> Jens
>
>
>
>
>
> Jan Lehnardt <jan@apache.org>
> 27.10.2009 15:58
> Please respond to
> user@couchdb.apache.org
>
>
> To
> user@couchdb.apache.org
> cc
>
> Subject
> Re: COUCHDB-161 Range Request support for attachments
>
>
>
>
>
>
> Hi Jens,
>
> http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_httpd_db.erl?view=markup
>
>
> line 857 ff.
>
> Cheers
> Jan
> --
>
> On 27 Oct 2009, at 15:32, jens.riemschneider@icw.de wrote:
>
>> Hi Jan,
>>
>> I didn't check out the sources yet, so I can't promise anything. But
>> if
>> you can point me to the right entry point in the code, I would
>> definitely
>> have a look.
>>
>> Thanks,
>> Jens
>>
>>
>>
>>
>> Jan Lehnardt <jan@apache.org>
>> 27.10.2009 15:22
>> Please respond to
>> user@couchdb.apache.org
>>
>>
>> To
>> user@couchdb.apache.org
>> cc
>>
>> Subject
>> Re: COUCHDB-161 Range Request support for attachments
>>
>>
>>
>>
>>
>>
>>
>> On 27 Oct 2009, at 15:10, jens.riemschneider@icw.de wrote:
>>
>>> Hi Jan,
>>>
>>> Thanks for the quick reply. I googled for the release notes and
>>> ended up
>>> at:
>>>
>>
> http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310780&styleName=Html&version=12313694
>
>>
>>> Guess that is just an automatic page generated from the Jira.
>>> Anyway, are
>>> there any plans to include this in the near future? I'm asking
>>> because we
>>> can work around this, but it would simplify our implementation if
>>> this
>>> feature is available.
>>
>> I'd love to see it added too, but I don't know anyone who is  
>> currently
>> taking this on. The patch shouldn't be too hard and would be perfect
>> for a newcomer who is eager to dive into the CouchDB codebase.
>>
>> I'd be happy to do some guiding.
>>
>> Cheers
>> Jan
>> --
>>
>>
>>
>>>
>>> Thanks,
>>> Jens
>>>
>>>
>>>
>>>
>>> Jan Lehnardt <jan@apache.org>
>>> 27.10.2009 14:52
>>> Please respond to
>>> user@couchdb.apache.org
>>>
>>>
>>> To
>>> user@couchdb.apache.org
>>> cc
>>>
>>> Subject
>>> Re: COUCHDB-161 Range Request support for attachments
>>>
>>>
>>>
>>>
>>>
>>>
>>> Hi,
>>>
>>> Range requests for attachments are not in 0.10. The release
>>> notes don't include that information. I think the confusion stems
>>> from that in JIRA, the issue is tagged 0.10. Note though that
>>> the issue is still open.
>>>
>>> Cheers
>>> Jan
>>> --
>>>
>>> On 27 Oct 2009, at 14:38, jens.riemschneider@icw.de wrote:
>>>
>>>> Hi,
>>>>
>>>> I saw that the release notes of 0.10 include the feature request
>>>> COUCHDB-161 "Range Request support for attachments". I tried using
>>>> the
>>>> http header "Range" when doing a normal Get request for an
>>>> attachment.
>>>> However, I always get the complete attachment. I configured the
>>>> CouchDb
>>>> log to output debug messages and it seems the header is received by
>>>> CouchDb. Is there anything else I need to do?
>>>>
>>>> Thanks,
>>>> Jens
>>>>
>>>> InterComponentWare AG:
>>>> Vorstand: Dr. Lutz Kleinholz (Vors.), Dr. Georg Ralle, Jörg
>>>> Stadler / Aufsichtsratsvors.: Prof. Dr. Christof Hettich
>>>> Firmensitz: 69190 Walldorf, Industriestraße 41 / AG Mannheim HRB
>>>> 351761 / USt.-IdNr.: DE 198388516
>>>
>>>
>>>
>>>
>>>
>>> InterComponentWare AG:
>>> Vorstand: Dr. Lutz Kleinholz (Vors.), Dr. Georg Ralle, Jörg
>>> Stadler / Aufsichtsratsvors.: Prof. Dr. Christof Hettich
>>> Firmensitz: 69190 Walldorf, Industriestraße 41 / AG Mannheim HRB
>>> 351761 / USt.-IdNr.: DE 198388516
>>
>>
>>
>>
>> InterComponentWare AG:
>> Vorstand: Dr. Lutz Kleinholz (Vors.), Dr. Georg Ralle, Jörg
>> Stadler / Aufsichtsratsvors.: Prof. Dr. Christof Hettich
>> Firmensitz: 69190 Walldorf, Industriestraße 41 / AG Mannheim HRB
>> 351761 / USt.-IdNr.: DE 198388516
>
>
>
>
>
> InterComponentWare AG:
> Vorstand: Dr. Lutz Kleinholz (Vors.), Dr. Georg Ralle, Jörg  
> Stadler / Aufsichtsratsvors.: Prof. Dr. Christof Hettich
> Firmensitz: 69190 Walldorf, Industriestraße 41 / AG Mannheim HRB  
> 351761 / USt.-IdNr.: DE 198388516


Mime
View raw message