You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Tobias Bocanegra (JIRA)" <ji...@apache.org> on 2006/03/23 15:44:18 UTC

[jira] Created: (JCR-371) ItemStateException on concurrently committing transactions of versioning operations

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
 Assigned to: 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


[jira] Commented: (JCR-371) ItemStateException on concurrently committing transactions of versioning operations

Posted by "Giota Karadimitriou (JIRA)" <ji...@apache.org>.
    [ 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


[jira] Closed: (JCR-371) ItemStateException on concurrently committing transactions of versioning operations

Posted by "Tobias Bocanegra (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-371?page=all ]
     
Tobias Bocanegra closed JCR-371:
--------------------------------

    Resolution: Fixed

fixed a major synchronizity problem in verisoning (see JCR-443) which probably solves this problem aswell.

Date: Thu May 25 03:04:54 2006
New Revision: 409351

> 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


[jira] Updated: (JCR-371) ItemStateException on concurrently committing transactions of versioning operations

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-371?page=all ]

Jukka Zitting updated JCR-371:
------------------------------

    Fix Version: 1.0.1
                     (was: 1.1)

Merged for 1.0.1 in revision 409626.

> 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.0.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