-
Bug
-
Resolution: Done
-
Major
-
4.4.0.Final
-
None
-
None
There a two threads:
- Thread A creates new nodes as children of node P and marks the created nodes as versionable.
- Thread B gets P and iterates over all children. For each child versionManager.getBaseVersion(child.getPath()) is called if the child is versionable.
When Thread A and B are running at the same time, the following error might occur:
javax.jcr.version.VersionException: Cannot find the base version with the key 'a69d00a317f1e709b57fe2-f3cf-420e-a33a-c2c40e770f14' for the node '/uploads/test7'. Make sure that any checkin/checkout operations are atomic for that node. at org.modeshape.jcr.AbstractJcrNode.getBaseVersion(AbstractJcrNode.java:3300) at org.modeshape.jcr.JcrVersionManager.getBaseVersion(JcrVersionManager.java:282) at de.doubleslash.modeshape.versionexceptionbug.impl.GetBaseVersionRunnable.run(GetBaseVersionRunnable.java:44) at java.lang.Thread.run(Thread.java:744) Caused by: org.modeshape.jcr.cache.NodeNotFoundInParentException: Cannot locate child node: a69d00a317f1e710377623-b2bb-4808-ade4-c8730e8024aa within parent: a69d00a317f1e7jcr:versionStorage at org.modeshape.jcr.cache.document.LazyCachedNode.parentReferenceToSelf(LazyCachedNode.java:247) at org.modeshape.jcr.cache.document.LazyCachedNode.getSegment(LazyCachedNode.java:284) at org.modeshape.jcr.cache.document.LazyCachedNode.getPath(LazyCachedNode.java:293) at org.modeshape.jcr.cache.document.LazyCachedNode.getPath(LazyCachedNode.java:292) at org.modeshape.jcr.cache.document.LazyCachedNode.getPath(LazyCachedNode.java:292) at org.modeshape.jcr.cache.document.LazyCachedNode.getPath(LazyCachedNode.java:292) at org.modeshape.jcr.cache.document.LazyCachedNode.getPath(LazyCachedNode.java:292) at org.modeshape.jcr.JcrSession.node(JcrSession.java:562) at org.modeshape.jcr.JcrSession.node(JcrSession.java:507) at org.modeshape.jcr.JcrSession.node(JcrSession.java:485) at org.modeshape.jcr.AbstractJcrNode.getBaseVersion(AbstractJcrNode.java:3296) ... 3 more
Might be similiar to MODE-2418.