Return-Path: X-Original-To: apmail-continuum-issues-archive@www.apache.org Delivered-To: apmail-continuum-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6BEC6D653 for ; Thu, 22 Nov 2012 09:01:40 +0000 (UTC) Received: (qmail 26863 invoked by uid 500); 22 Nov 2012 09:01:40 -0000 Delivered-To: apmail-continuum-issues-archive@continuum.apache.org Received: (qmail 26843 invoked by uid 500); 22 Nov 2012 09:01:40 -0000 Mailing-List: contact issues-help@continuum.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@continuum.apache.org Delivered-To: mailing list issues@continuum.apache.org Received: (qmail 26757 invoked by uid 99); 22 Nov 2012 09:01:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Nov 2012 09:01:39 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [63.246.24.159] (HELO codehaus01.managed.contegix.com) (63.246.24.159) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Nov 2012 09:01:34 +0000 Received: from codehaus01 (localhost.localdomain [127.0.0.1]) by codehaus01.managed.contegix.com (Postfix) with ESMTP id B12B7B047D for ; Thu, 22 Nov 2012 03:01:13 -0600 (CST) Date: Thu, 22 Nov 2012 03:01:13 -0600 (CST) From: "Brett Porter (JIRA)" To: issues@continuum.apache.org Message-ID: <1280016296.13174.1353574873732.JavaMail.j2ee-jira@codehaus01.managed.contegix.com> In-Reply-To: <1330873957.13164.1353574393673.JavaMail.j2ee-jira@codehaus01.managed.contegix.com> Subject: [jira] (CONTINUUM-2693) File handle leak with TCP connections in CLOSE_WAIT when using distributed builds MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 22cf62d5d84cf5bea94eb3b65e0ebd09 X-Virus-Checked: Checked by ClamAV on apache.org [ https://jira.codehaus.org/browse/CONTINUUM-2693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=314149#comment-314149 ] Brett Porter commented on CONTINUUM-2693: ----------------------------------------- I traced this into the way the XMLRPC is set up. Atlassian XMLRPC Binder sets up Apache XMLRPC Client using the Commons HTTP Client 3.1 transport. HTTP Client is using the default {{SimpleHttpConnectionManager}}. These are all hard coded. Because the binder is not reused, a new XMLRPC client is set up for each call. The XMLRPC client calls {{releaseConnection}} on the HTTP Client, which leaves the physical connection open for reuse - but with nothing set up to reuse it or terminate it, it is left open until GC happens on the socket. This is often quick, but some connections make it into the more permanent area of heap. See: http://fuyun.org/2009/09/connection-close-in-httpclient/ Medium term, the XMLRPC should be replaced with JAX-RS. Potential short term solutions: # adjust the binder to use the JDK URL Connection instead of the HTTP Client # try and adjust the HTTP Client to use a multi-threaded connection manager, and then reuse the binder/xmlrpc-client/http-client # configure HTTP Client's background job to cleanup idle connections This needs further investigation. > File handle leak with TCP connections in CLOSE_WAIT when using distributed builds > --------------------------------------------------------------------------------- > > Key: CONTINUUM-2693 > URL: https://jira.codehaus.org/browse/CONTINUUM-2693 > Project: Continuum > Issue Type: Bug > Affects Versions: 1.4.1 > Reporter: Brett Porter > Fix For: 1.4.1 > > > If you generate a lot of requests using the XMLRPC layer, such as when distributed builds are active, it is possible for connections to stay in the {{CLOSE_WAIT}} state until they are garbage collected. On a busy server with the default file limits, this can result in a {{IOException: Too many open files}} error. > The workaround is to increase the limit of the files for the user running Continuum. However, the XMLRPC layer should manage the connections better to avoid them getting into this state. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira