You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Henri Gomez (JIRA)" <ji...@apache.org> on 2014/07/17 09:07:04 UTC
[jira] [Comment Edited] (HTTPCLIENT-1518) In 4.3.2/3 (running on
Sun Solaris 10) during stress test connections go in close_wait
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14064653#comment-14064653 ]
Henri Gomez edited comment on HTTPCLIENT-1518 at 7/17/14 7:06 AM:
------------------------------------------------------------------
It's sad this issue was closed as resolved since I've a similar behaviour using :
* Sonatype Nexus 2.8.1-01 (who embedded httpclient-4.3.3.jar / httpcore-4.3.2.jar)
* Tomcat 7.0.54
* Sun Java 7u60
* openSUSE 12.3 64bits
I had many CLOSE_WAIT connections on some Nexus instances.
threadump / headdump shown that a single HttpClient object was in JVM but about 30 client sockets, those managed by HttpClient, are in half-closed state (CLOSE_WAIT)
was (Author: hgomez):
It's sad this issue was closed as resolved since I've a similar behaviour using :
* Sonatype Nexus 2.8.1-01 (who embedded httpclient-4.3.3.jar / httpcore-4.3.2.jar)
* Tomcat 7.0.54
* Sun Java 7u60
I had many CLOSE_WAIT connections on some Nexus instances.
threadump / headdump shown that a single HttpClient object was in JVM but about 30 client sockets, those managed by HttpClient, are in half-closed state (CLOSE_WAIT)
> In 4.3.2/3 (running on Sun Solaris 10) during stress test connections go in close_wait
> --------------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-1518
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1518
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.3.2, 4.3.3
> Reporter: stefano gristina
> Priority: Critical
>
> Httplclient used is 4.3.2/3 inside servlet under tomcat 7 (jre 7). SO: Sun Solaris 10.
> During stress test (after some hour)TCP connections to server go in close_wait.
> bash-3.2$ netstat -an |grep 8010| grep CLOSE_WAIT
> 10.199.139.13.37055 10.199.139.1.8010 8760 0 49640 0 CLOSE_WAIT
> 10.199.139.13.37145 10.199.139.1.8010 8760 0 49640 0 CLOSE_WAIT
> 10.199.139.13.37140 10.199.139.1.8010 8760 0 49640 0 CLOSE_WAIT
> 10.199.139.13.37109 10.199.139.1.8010 8760 0 49640 0 CLOSE_WAIT
> 10.199.139.13.36798 10.199.139.1.8010 8760 0 49640 0 CLOSE_WAIT
> 10.199.139.13.37226 10.199.139.1.8010 8760 0 49640 0 CLOSE_WAIT
> One only connection is active at the end. With one only TCP connection the performances are very low. Work around is to restart Tomcat.
> Behaviour not acceptable.
> The class IdleConnectionMonitorThread is used to close idle and expired tcp connections: not real effect.
> Issue solved using httpclient 3.0.1.
> Snippet of code:
> init()
> public void init(ServletConfig config) throws ServletException {
> cm = new PoolingHttpClientConnectionManager();
> cm.setDefaultMaxPerRoute(numOfConnectionTOADC);
> // HttpClient client = new DefaultHttpClient(cm);
> RequestConfig defaultRequestConfig = RequestConfig.custom()
> .setSocketTimeout(socketTimeoutADC)
> .setConnectTimeout(connectionTimeoutADC).build();
> client = HttpClients.custom().setConnectionManager(cm).build();
> idleConn=new IdleConnectionMonitorThread(cm);
> idleConn.start();
> }
> protected void doGet(){
> CloseableHttpResponse respon;
> try {
> respon = client.execute(req, context);
> }
> catch (Exception e) {
>
> }
> finally {
> respon.close();
> req.releaseConnection();
> }
> }
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org