You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Randall Leeds (JIRA)" <ji...@apache.org> on 2010/09/14 03:23:33 UTC
[jira] Commented: (COUCHDB-887) _log handler has very odd semantics
for bytes/offset, probably a bug
[ 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.