[ https://issues.apache.org/jira/browse/COUCHDB-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Kocoloski updated COUCHDB-1901: ------------------------------------ Fix Version/s: 1.5.0 Assignee: Adam Kocoloski > Replicator needs to retry multipart requests atomically > ------------------------------------------------------- > > Key: COUCHDB-1901 > URL: https://issues.apache.org/jira/browse/COUCHDB-1901 > Project: CouchDB > Issue Type: Bug > Components: Replication > Reporter: Adam Kocoloski > Assignee: Adam Kocoloski > Fix For: 1.5.0 > > > couch_replicator_httpc's retry mechanism interacts poorly with the multipart > requests we use to transfer attachments during replication. In the case of > PUTs, the replicator will retry a request even though it has already streamed > part of the request body. For GETs, it can potentially interleave body data > from the original response and the retried one. > I put together a fix at https://github.com/cloudant/couch_replicator/pull/36 > that disables the default httpc client retry mechanism for multipart requests > and manages the retry logic "atomically"; i.e., it retries the original GET > request if the GET or PUT fails, and it ensures that the original GET request > is properly terminated during the retry. I'll push a version of that patch > to the Apache repo now. -- This message was sent by Atlassian JIRA (v6.1#6144)