[
https://issues.apache.org/jira/browse/COUCHDB-253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Anderson closed COUCHDB-253.
----------------------------------
Resolution: Fixed
applied in r744193
> Replicator should not use chunked transfer-encoding on GET requests
> -------------------------------------------------------------------
>
> Key: COUCHDB-253
> URL: https://issues.apache.org/jira/browse/COUCHDB-253
> Project: CouchDB
> Issue Type: Bug
> Components: Database Core
> Reporter: Adam Kocoloski
> Fix For: 0.9
>
> Original Estimate: 0.5h
> Remaining Estimate: 0.5h
>
> Hi, I screwed this up when we switched to ibrowse. We're telling ibrowse to
> use chunked t-e on every replicator HTTP request. We don't send a body with
> the GET request, so ibrowse just puts a 0 in the body. Mochiweb chooses to
> interpret this as "close the connection". That's obviously not what we want.
> Quick patch below to skip chunked if the request is a GET:
> diff --git a/src/couchdb/couch_rep.erl b/src/couchdb/couch_rep.erl
> index ff92658..fa3623d 100644
> --- a/src/couchdb/couch_rep.erl
> +++ b/src/couchdb/couch_rep.erl
> @@ -179,11 +179,16 @@ do_http_request(Url, Action, Headers, JsonBody,
> Retries) ->
> _ ->
> iolist_to_binary(?JSON_ENCODE(JsonBody))
> end,
> - Options = [
> +
> + Options =
> + case Action of
> + get -> [];
> + _ -> [{transfer_encoding, {chunked, 65535}}]
> + end ++ [
> {content_type, "application/json; charset=utf-8"},
> - {max_pipeline_size, 101},
> - {transfer_encoding, {chunked, 65535}}
> + {max_pipeline_size, 101}
> ],
> +
> case ibrowse:send_req(Url, Headers, Action, Body, Options) of
> {ok, Status, ResponseHeaders, ResponseBody} ->
> ResponseCode = list_to_integer(Status),
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.