I got this problem when I was creating one HttpClient object for every request. The problem was resolved when I created one singleton HttpClient for all my requests with a MultiThreadedConnnectionManager
HTH Cheers, Jaya. -----Original Message----- From: Mark Claassen [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 28, 2006 10:41 PM To: 'HttpClient User Discussion'; [EMAIL PROTECTED] Subject: RE: Many sockets open in CLOSE_WAIT state I had this error as well, and for me it came from me using the API incorrectly. My lesson as a newbie was: follow the examples as closely as possible. I found the api very easy to use incorrectly. However, when I changed my usage to follow the examples more closely, all my problems magically disappeared. -----Original Message----- From: David Cotter [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 28, 2006 11:29 AM To: [email protected] Subject: Re: Many sockets open in CLOSE_WAIT state On closer inspection there are even more sockets open: For example I have 20,000 open sockets: 12000 are in ESTABLISHED and 8000 are in CLOSE_WAIT. Regards, David On Mon, 2006-11-27 at 12:26 +0000, David Cotter wrote: > > Hi there, > > > > I am having a problem with too many open files on my server. I am > > using HttpClient v.3.0 and the server application is a proxy web app > > that retrieves the content using HttpClient and passes it back to > > the user > using > > a Tomcat servlet. I am serving 1000s of different users with > > several > sever > > requests per second. As time goes on the JVM memory usage steadily > increases > > as the number of open files/sockets in CLOSE_WAIT state on the Linux > machine > > increases. I can see from inspection that many of the open files are > socket > > connection to third party sites opened with HttpClient. > > > > For every method executed I use a shared > MultiThreadedHttpConnectionManager > > and always call method.releaseConnection(). > > > > I have instantiated IdleConnectionTimeoutThread and also have > > another thread that occasionally calls: > > multiThreadedHttpConnectionManager.closeIdleConnections > (idleTimeoutMillis); > > multiThreadedHttpConnectionManager.deleteClosedConnections(); > > > > I have overridden > > MultiThreadedHttpConnectionManager.releaseConnection() > > and included a connection.close() in this function but have not seen > > any results - always steadily increasing open files. > > > > I have seen reference to overriding > > MultiThreadedHttpConnectionManager.releaseConnection () to force > > sockets > to > > close on this list but nothing concrete as to what to put in the > overrided > > function. > > > > I would appreciate any help on this. > > > > > Regards, > > David > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ============================================================================================================================ Tech Mahindra, formerly Mahindra-British Telecom. Disclaimer: This message and the information contained herein is proprietary and confidential and subject to the Tech Mahindra policy statement, you may review at <a href="http://www.techmahindra.com/Disclaimer.html">http://www.techmahindra.com/Disclaimer.html</a> externally and <a href="http://tim.techmahindra.com/Disclaimer.html">http://tim.techmahindra.com/Disclaimer.html</a> internally within Tech Mahindra. ============================================================================================================================ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
