[ https://issues.apache.org/jira/browse/COUCHDB-1319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13139717#comment-13139717
]
Jan Lehnardt commented on COUCHDB-1319:
---------------------------------------
Thanks Adam.
In the future, it wouldn't hurt to ask the side channels to comment here, so we can all see
them :)
> Headers larger than 4k cannot be retrieved
> ------------------------------------------
>
> Key: COUCHDB-1319
> URL: https://issues.apache.org/jira/browse/COUCHDB-1319
> Project: CouchDB
> Issue Type: Bug
> Affects Versions: 1.1, 1.1.1
> Reporter: Adam Kocoloski
> Assignee: Adam Kocoloski
> Fix For: 1.2, 1.1.2
>
>
> Our headers start with a <<1>> and then four bytes indicating the length
of the header and its checksum. When the header is larger than 4090 bytes it will be split
across multiple blocks in the file and will need to be reassembled on read. The reassembly
consists of stripping out <<0>> from the beginning of each subsequent block in
the remove_block_prefixes/2 function. The bug here is that we tell remove_block_prefixes that
we're starting 1 byte into the current block instead of 5, so it ends up removing one or more
good bytes from the header and injecting one or more random <<0>>s.
> Headers larger than 4k are very rare and generally require a view group with a huge number
of indexes or indexes with fairly large reductions, which explains why this bug has gone undetected
until now.
> Patch forthcoming.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira