Return-Path: Delivered-To: apmail-incubator-jackrabbit-dev-archive@www.apache.org Received: (qmail 4020 invoked from network); 28 Dec 2004 14:21:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 28 Dec 2004 14:21:43 -0000 Received: (qmail 24947 invoked by uid 500); 28 Dec 2004 14:21:24 -0000 Mailing-List: contact jackrabbit-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jackrabbit-dev@incubator.apache.org Delivered-To: mailing list jackrabbit-dev@incubator.apache.org Received: (qmail 24869 invoked by uid 99); 28 Dec 2004 14:21:22 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from exchange.sun.com (HELO exchange.sun.com) (192.18.33.10) by apache.org (qpsmtpd/0.28) with SMTP; Tue, 28 Dec 2004 06:21:18 -0800 Received: (qmail 19464 invoked from network); 28 Dec 2004 14:21:17 -0000 Received: from localhost (HELO nagoya) (127.0.0.1) by nagoya.betaversion.org with SMTP; 28 Dec 2004 14:21:17 -0000 Message-ID: <1038020239.1104243677100.JavaMail.apache@nagoya> Date: Tue, 28 Dec 2004 06:21:17 -0800 (PST) From: "Tobias Strasser (JIRA)" To: jackrabbit-dev@incubator.apache.org Subject: [jira] Resolved: (JCR-29) Node.addNode() does not scale with increasing content In-Reply-To: <261506948.1103030515266.JavaMail.apache@nagoya> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N [ http://nagoya.apache.org/jira/browse/JCR-29?page=history ] Tobias Strasser resolved JCR-29: -------------------------------- Resolution: Fixed should be fast and more scaleable since last reorganization of versioning (r123112) > Node.addNode() does not scale with increasing content > ----------------------------------------------------- > > Key: JCR-29 > URL: http://nagoya.apache.org/jira/browse/JCR-29 > Project: Jackrabbit > Type: Bug > Environment: Jackrabbit SVN Rev. 111798 > Reporter: Felix Meschberger > Assignee: Tobias Strasser > Priority: Blocker > > With increasing repository content (and versions), the time to create new nodes increases. For example with around 6500 nodes and 33500 properties, it takes around 3 seconds (!) to just add one single node ! > When attaching to the application with a Debugger and delibaretly suspending the VM, this stack trace is displayed all the times : > [ changing internals of access List iterator ] > PersistentNodeState(NodeState).getChildNodeEntries(String) line: 362 > PersistentNode.getName() line: 84 > PersistentVersionManager.getVersion(String) line: 278 > VersionManager.getVersion(String) line: 304 > VersionItemStateProvider.getNodeState(NodeId) line: 124 > VersionItemStateProvider.hasPropertyState(PropertyId) line: 154 > VersionItemStateProvider.hasItemState(ItemId) line: 174 > SessionItemStateManager.getItemState(ItemId) line: 246 > ItemManager.createItemInstance(ItemId) line: 563 > ItemManager.getItem(ItemId) line: 332 > NodeImpl.getProperty(QName) line: 876 > NodeImpl.hasProperty(QName) line: 893 > NodeImpl.safeIsCheckedOut() line: 2515 > NodeImpl.internalAddChildNode(QName, NodeTypeImpl, String) line: 527 > NodeImpl.internalAddNode(String, NodeTypeImpl, String) line: 475 > NodeImpl.internalAddNode(String, NodeTypeImpl) line: 436 > NodeImpl.addNode(String, String) line: 1145 > ... > It seems, that virtual item state providers are asked for whatever property is looked for and this in return calls into the version handler, which loops over some child entries (currently around 1100 entries) to find one single entry with a given UUID. > Besides the latter not being optimal and certainly not scaling, the former has its problems in its own right. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://nagoya.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira