hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rodolfo Udo Labsch (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HTTPCLIENT-1857) HttpClient falsely closes a reusable connection
Date Sun, 18 Jun 2017 23:56:00 GMT

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053353#comment-16053353
] 

Rodolfo Udo Labsch edited comment on HTTPCLIENT-1857 at 6/18/17 11:55 PM:
--------------------------------------------------------------------------

Hello [~olegk],

If we are closing a response even after not consuming or partially consuming an entity, the
content should actually be ignored but the connection should still be reusable, hence the
connection should go back pristine to the pool.

I did not check the code if this is done, but that would be the most logical imo for a pooled
Connection.

What do you say [~olegk]?


was (Author: devilus):
Hello [~olegk],

If we are closing a response even after not consuming or partially consuming an entity, the
content should actually be ignored but the connection should still be reusable, hence the
connection should go back pristine to the pool.

I did not check the code if this is done, but that would be the most logical imo for a pooled
Connection.

> HttpClient falsely closes a reusable connection
> -----------------------------------------------
>
>                 Key: HTTPCLIENT-1857
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1857
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>            Reporter: Rodolfo Udo Labsch
>         Attachments: ConnectionHolder.patch
>
>
> If you create a code with a reusable httpclient and then call execute as in the example
with the following code. The http connection will be falsely closed.
> {code:java}
> private PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
> httpClient = HttpClients.custom()
> .setConnectionManager(connectionManager)
> .build();
> try (CloseableHttpResponse response = httpClient.execute(new HttpGet(enetLink), context))
{
> .....
> }
> {code}
> The reason being that we have:
> {code:java}
> CloseableHttpResponse:
>     public void close() throws IOException {
>         if (this.connHolder != null) {
>             this.connHolder.close();
>         }
>     }
> ConnectionHolder:
>     public void close() throws IOException {
>         releaseConnection(false);
>     }
> {code}
> Just created the correction, which is attached as patch.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message