couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Bonhage (JIRA)" <>
Subject [jira] [Updated] (COUCHDB-1639) doc_to_multi_part_stream does not include headers for attachments
Date Tue, 08 Jan 2013 20:40:14 GMT


Christopher Bonhage updated COUCHDB-1639:

    Attachment: 0001-Fix-multipart-attachments-headers.patch

This is a patch which resolves the issue by including the content-type header for attachments
when converting a document to a multi-part stream, as well as including the length of the
headers in the computed length of the stream.
> doc_to_multi_part_stream does not include headers for attachments
> -----------------------------------------------------------------
>                 Key: COUCHDB-1639
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core, Replication
>            Reporter: Christopher Bonhage
>         Attachments: 0001-Fix-multipart-attachments-headers.patch
> I started a push replication job that contained a document with image attachments and
noticed that the replication job was taking far too long, so I dug into the logs and found
the culprit:
> [Tue, 08 Jan 2013 05:28:45 GMT] [error] [emulator] Error in process <0.22592.0>
with exit value: {{badmatch,{[137,80,78,71],[]}},[{couch_httpd,split_header,1},{couch_httpd,'-parse_part_header/1-fun-1-',2},{lists,foldl,3},{couch_httpd,parse_part_header,1},{couch_httpd,parse_multipart_request,3},{couch_doc,'-doc_from_multi_part_stream/2-fun-1-'...

> I was able to deduce that the {[137,80,78,71],[]} that split_header was encountering
while trying to parse_part_header was actually the (partial) body of the attachment! After
adding some logging to confirm my suspicions I discovered that CouchDB does not appear to
be sending MIME multipart/related headers for attachments (only the application/json for the
doc itself) when converting a document to a multipart stream, which is causing the problem.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message