[ 
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.

Reply via email to