[jira] [Commented] (HTTPCLIENT-1857) HttpClient falsely closes a reusable connection
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16053353#comment-16053353 ] Rodolfo Udo Labsch commented on HTTPCLIENT-1857: 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-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org
[jira] [Comment Edited] (HTTPCLIENT-1857) HttpClient falsely closes a reusable connection
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org
[jira] [Commented] (HTTPCLIENT-1857) HttpClient falsely closes a reusable connection
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16053204#comment-16053204 ] Oleg Kalnichevski commented on HTTPCLIENT-1857: --- Rodolfo, Are you sure this is the right thing to do? What should happen if the response entity content has not been consumed or partially consumed. Are you sure this is a good idea to re-use connections in such cases? Oleg > 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-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org