[ 
https://issues.apache.org/jira/browse/COUCHDB-1177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Newson resolved COUCHDB-1177.
------------------------------------

    Resolution: Fixed

The code that reads attachments passed 0 for the length, which returns all data 
on the socket, even if that runs into the next request. The fix is to keep 
track of the expected remaining size and ask for no more than that each time.

> function_clause error in write_streamed_attachment
> --------------------------------------------------
>
>                 Key: COUCHDB-1177
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1177
>             Project: CouchDB
>          Issue Type: Bug
>    Affects Versions: 1.0.1, 1.0.2
>            Reporter: Robert Newson
>            Assignee: Robert Newson
>            Priority: Blocker
>             Fix For: 1.0.3, 1.1, 1.2
>
>
> LenLeft can still go negative. While the guard clause prevents an earlier 
> bug, replication fails when it hits this issue.
> In the following case, LenLeft is -673327 which matches no clauses (we expect 
> either 0 or > 0). Somehow we are starting with a LenLeft value lower than the 
> number of bytes we subsequently receive.
> {function_clause,
>                                [{couch_db,write_streamed_attachment,
>                                     [<0.13520.3>,
>                                      #Fun<couch_rep_att.0.90652905>,-673327]},
>                                 {couch_db,with_stream,3},
>                                 {couch_db,'-doc_flush_atts/2-lc$^0/1-0-',2},
>                                 {couch_db,doc_flush_atts,2},
>                                 {couch_db,'-update_docs/4-lc$^3/1-3-',2},
>                                 {couch_db,'-update_docs/4-lc$^2/1-2-',2},
>                                 {couch_db,'-update_docs/4-lc$^2/1-2-',2},
>                                 {couch_db,update_docs,4}]}}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to