[ https://issues.apache.org/jira/browse/COUCHDB-1319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13139723#comment-13139723 ]
Paul Joseph Davis commented on COUCHDB-1319: -------------------------------------------- It's a straightforward bug and has a test. I wouldn't have even bothered with a ticket. > 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