[ 
https://issues.apache.org/jira/browse/COUCHDB-887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12909083#action_12909083
 ] 

Randall Leeds commented on COUCHDB-887:
---------------------------------------

Your patch reverses the semantics of offset, but it's not clear that one is 
more right.

If your intuition about offet being a negative from the end is right, then I'd 
expect:

Start = lists:max([LogFileSize - Offset])

where Bytes determines how many bytes to read, but has no effect on where 
reading begins.

However, in either case I think you're right that Bytes should be passed to 
file:pread/3 instead of LogFileSize.

> _log handler has very odd semantics for bytes/offset, probably a bug
> --------------------------------------------------------------------
>
>                 Key: COUCHDB-887
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-887
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 0.11, 0.11.1, 0.11.2, 1.0, 1.0.1
>            Reporter: Nuutti Kotivuori
>            Priority: Trivial
>         Attachments: couch_log.erl.diff
>
>
> The _log method for couchdb servers has query arguments "bytes" and "offset", 
> but they seem to behave really weirdly. If offset >= bytes, an eof error is 
> returned - otherwise offset is just substracted from bytes and the request 
> behaves identically otherwise.
> A simple fix to the expected behaviour is included - offset counts backwards 
> from bytes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to