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