-
Bug
-
Resolution: Done
-
Critical
-
5.4.0.Final
-
None
When attempting to reorder one or more SNS children of a parent which also have transient changes in a given JCR session, the following exception is raised:
Caused by: java.lang.ClassCastException: org.modeshape.jcr.cache.document.TransactionalWorkspaceCache cannot be cast to org.modeshape.jcr.cache.document.AbstractSessionCache
at org.modeshape.jcr.cache.document.SessionNode.session(SessionNode.java:298)
at org.modeshape.jcr.cache.document.SessionNode.getPath(SessionNode.java:480)
at org.modeshape.jcr.cache.PathCache.getPath(PathCache.java:41)
at org.modeshape.jcr.cache.document.WritableSessionCache.computePathChangesForSNS(WritableSessionCache.java:1476)
at org.modeshape.jcr.cache.document.WritableSessionCache.persistChanges(WritableSessionCache.java:1258)
at org.modeshape.jcr.cache.document.WritableSessionCache.save(WritableSessionCache.java:690)
at org.modeshape.jcr.JcrSession.save(JcrSession.java:1179)
... 28 more
Note that this can happen in 2 cases:
- explicitly reordering transient SNS
- restoring a non existent version (from a JCR session point of view) using the JcrVersionManager