Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 76706 invoked from network); 4 Apr 2006 14:36:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 4 Apr 2006 14:36:42 -0000 Received: (qmail 14182 invoked by uid 500); 4 Apr 2006 14:36:39 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 14151 invoked by uid 500); 4 Apr 2006 14:36:39 -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 14141 invoked by uid 99); 4 Apr 2006 14:36:38 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Apr 2006 07:36:38 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Apr 2006 07:36:38 -0700 Received: from ajax (localhost.localdomain [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id CA240D49FF for ; Tue, 4 Apr 2006 15:36:16 +0100 (BST) Message-ID: <517270040.1144161376825.JavaMail.jira@ajax> Date: Tue, 4 Apr 2006 15:36:16 +0100 (BST) From: "Giota Karadimitriou (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Commented: (JCR-371) ItemStateException on concurrently committing transactions of versioning operations In-Reply-To: <1432720998.1143125058754.JavaMail.jira@ajax> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/JCR-371?page=comments#action_12373098 ] Giota Karadimitriou commented on JCR-371: ----------------------------------------- Just to add my experience on this, in case it helps: This issue occured when while trying to perform concurrent versioning operations I did a remove version. I tracked down the problem and it seems that while trying to remove version7 of a document which had the following hierarchy: 72d4c88e-5c86-40c8-bb98-1b9e32c1a421 //version 7 | | e33688f2-d230-4957-8a51-22433333e440 //versionHistory | | 21e1bb18-5507-4cd9-9b91-1c25be0af0e4 //versionStorage | | 75e0f33e-a58c-492c-b932-e544415f86e1 //versionStorage | | 7b82e86f-c693-47cb-a898-82fb6d41bd29 //versionStorage | | deadbeef-face-babe-cafe-babecafebabe 'deadbeef-face-babe-cafe-babecafebabe' *lost* '7b82e86f-c693-47cb-a898-82fb6d41bd29' (first version storage). This corrupted the document version graph and every create version or remove version operation then seemed hopeless since the version graph was corrupted and resulted in path errors. I saved the blob value of deadbeef-face-babe-cafe-babecafebabe from the database and checked its children and 7b82e86f-c693-47cb-a898-82fb6d41bd29 was not among them. The exception I first got : Unable to resolve zombie path for item: 72d4c88e-5c86-40c8-bb98-1b9e32c1a421 org.apache.jackrabbit.core.state.ItemStateException: Unable to resolve zombie path for item: 72d4c88e-5c86-40c8-bb98-1b9e32c1a421 at org.apache.jackrabbit.core.observation.EventStateCollection.getZombiePath(EventStateCollection.java:519) at org.apache.jackrabbit.core.observation.EventStateCollection.createEventStates(EventStateCollection.java:316) at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:535) at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:651) at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:150) at org.apache.jackrabbit.core.version.XAVersionManager.prepare(XAVersionManager.java:414) at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:128) at org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:300) .... Caused by: javax.jcr.ItemNotFoundException: failed to build path of 7b82e86f-c693-47cb-a898-82fb6d41bd29: deadbeef-face-babe-cafe-babecafebabe has no child entry for 7b82e86f-c693-47cb-a898-82fb6d41bd29 at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:327) at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:316) at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:316) at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:316) at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:316) at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:376) at org.apache.jackrabbit.core.observation.ChangeLogBasedHierarchyMgr.getZombiePath(ChangeLogBasedHierarchyMgr.java:84) at org.apache.jackrabbit.core.observation.EventStateCollection.getZombiePath(EventStateCollection.java:514) ... 48 more ----- I think at least in my case the problem occurs in lines 156-167 of EventStateCollection because it deletes old parent but then fails to build the zombie path which includes the old parent (i use the source of jackrabbit 1.0rc1) try { oldParent = (NodeState) changes.get(oldParentId); } catch (NoSuchItemStateException e) { // old parent has been deleted, retrieve from // shared item state manager oldParent = (NodeState) provider.getItemState(oldParentId); } NodeTypeImpl oldParentNodeType = getNodeType(oldParent, session); Set mixins = oldParent.getMixinTypeNames(); Path newPath = getPath(n.getNodeId(), hmgr); Path oldPath = getZombiePath(n.getNodeId(), hmgr); //HERE we use oracle application server, SimpleDBPersistenceManager and java version "1.4.2_03". Also, jca is used to make jackrabbit a resource adapter. > ItemStateException on concurrently committing transactions of versioning operations > ----------------------------------------------------------------------------------- > > Key: JCR-371 > URL: http://issues.apache.org/jira/browse/JCR-371 > Project: Jackrabbit > Type: Bug > Components: versioning > Versions: 0.9 > Environment: r388178 > Reporter: Tobias Bocanegra > Assignee: Tobias Bocanegra > Fix For: 1.1 > > see tests in JCR-335 > org.apache.jackrabbit.core.state.ItemStateException: Unable to resolve path for item: 69d80165-7ef5-4b6b-8aa9-be9c9be1f994 > at org.apache.jackrabbit.core.observation.EventStateCollection.getPath(EventStateCollection.java:525) > at org.apache.jackrabbit.core.observation.EventStateCollection.createEventStates(EventStateCollection.java:377) > at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:547) > at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:668) > at org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:151) > at org.apache.jackrabbit.core.version.XAVersionManager.prepare(XAVersionManager.java:431) > at org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:129) > at org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:309) > at test.JCRUserTransaction.commit(JCRUserTransaction.java:74) > at org.apache.jackrabbit.JRTestDeadlock.run(JRTestDeadlock.java:110) > Caused by: javax.jcr.ItemNotFoundException: failed to build path of 69d80165-7ef5-4b6b-8aa9-be9c9be1f994: a0ecd4b0-a442-4b1e-a2f6-51441f40d452 has no child entry for 69d80165-7ef5-4b6b-8aa9-be9c9be1f994 > at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:308) > at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:357) > at org.apache.jackrabbit.core.observation.EventStateCollection.getPath(EventStateCollection.java:520) > ... 9 more -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira