hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stefano gristina (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HTTPCLIENT-1518) In 4.3.2/3 (running on Sun Solaris 10) during stress test connections go in close_wait
Date Tue, 17 Jun 2014 15:06:08 GMT
stefano gristina created HTTPCLIENT-1518:
--------------------------------------------

             Summary: 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.3, 4.3.2
            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


Mime
View raw message