Return-Path: X-Original-To: apmail-jackrabbit-dev-archive@www.apache.org Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 510AC6676 for ; Thu, 21 Jul 2011 21:19:24 +0000 (UTC) Received: (qmail 12279 invoked by uid 500); 21 Jul 2011 21:19:23 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 12227 invoked by uid 500); 21 Jul 2011 21:19:22 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 12217 invoked by uid 99); 21 Jul 2011 21:19:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2011 21:19:22 +0000 X-ASF-Spam-Status: No, hits=-2001.1 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2011 21:19:19 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 44C2A4EF69 for ; Thu, 21 Jul 2011 21:18:58 +0000 (UTC) Date: Thu, 21 Jul 2011 21:18:58 +0000 (UTC) From: "chad davis (JIRA)" To: dev@jackrabbit.apache.org Message-ID: <495167836.12818.1311283138278.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1775842885.5641.1311114897949.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (JCR-3027) JCR Server has concurrency issues on JcrWebdavServer.SessionCache internal HashMap caches MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/JCR-3027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] chad davis updated JCR-3027: ---------------------------- Description: After doing the davex remoting performance work outlined in JCR-3026, the increased concurrency on my jcr server exposed a lot of errors related to getting and putting from the JcrWebdavServer.SessionCache's internal HashMap's. This problem with HashMap's is a well known concurrency error and was easily fixed by upgrading these maps to ConcurrentHashMaps. Performance seems dramatically better. The fix includes exposure of a tuning parameter that allows the user to set the expected concurrency level. This is the number of concurrent requests you expect the server to be handling. In the typical davex remoting scenario, this means you should tune this server side value to match the total max connections of all clients pointed at the server. See JCR-3026. USAGE: Set the 'concurrency-level' init param for the JcrRemotingServlet, via the web.xml of the jackabbit-webapp component. Default value is 50. Or you can intervene in a lower level api if appropriate. was:After doing the davex remoting performance work outlined in JCR-3026, the increased concurrency on my jcr server exposed a lot of errors related to getting and putting from the JcrWebdavServer.SessionCache's internal HashMap's. This problem with HashMap's is a well known concurrency error and was easily fixed by upgrading these maps to ConcurrentHashMaps. Performance seems dramatically better. > JCR Server has concurrency issues on JcrWebdavServer.SessionCache internal HashMap caches > ----------------------------------------------------------------------------------------- > > Key: JCR-3027 > URL: https://issues.apache.org/jira/browse/JCR-3027 > Project: Jackrabbit Content Repository > Issue Type: Improvement > Components: jackrabbit-jcr-server > Affects Versions: 2.2.5 > Reporter: chad davis > Labels: dav, davex, performance, remote > Fix For: 2.3.0 > > > After doing the davex remoting performance work outlined in JCR-3026, the increased concurrency on my jcr server exposed a lot of errors related to getting and putting from the JcrWebdavServer.SessionCache's internal HashMap's. This problem with HashMap's is a well known concurrency error and was easily fixed by upgrading these maps to ConcurrentHashMaps. Performance seems dramatically better. > The fix includes exposure of a tuning parameter that allows the user to set the expected concurrency level. This is the number of concurrent requests you expect the server to be handling. In the typical davex remoting scenario, this means you should tune this server side value to match the total max connections of all clients pointed at the server. See JCR-3026. > USAGE: Set the 'concurrency-level' init param for the JcrRemotingServlet, via the web.xml of the jackabbit-webapp component. Default value is 50. Or you can intervene in a lower level api if appropriate. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira