[
https://issues.apache.org/jira/browse/JCR-1883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jukka Zitting updated JCR-1883:
-------------------------------
Affects Version/s: 1.5.0
Fix Version/s: 1.6.0
OK, marking this for 1.6.0. If there's end user demand for a fix in 1.5.x then
we can reconsider merging the fix to the 1.5 branch.
> Moved node disappears
> ---------------------
>
> Key: JCR-1883
> URL: https://issues.apache.org/jira/browse/JCR-1883
> Project: Jackrabbit
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 1.5.0
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
> Priority: Minor
> Fix For: 1.6.0
>
>
> Moving a node and then refreshing it can make it disappear.
> deleteDirectory(new File("repository"));
> Repository rep = new TransientRepository();
> Session session = rep.login(new SimpleCredentials("", new char[0]));
> Node root = session.getRootNode();
> Node a = root.addNode("a");
> Node b = a.addNode("b");
> session.save();
> session.move("/a/b", "/b");
> b.refresh(false);
> // session.save(); // no effect
> for (NodeIterator it = root.getNodes(); it.hasNext();) {
> Node n = it.nextNode();
> System.out.println(n.getName());
> for (NodeIterator it2 = n.getNodes(); it2.hasNext();) {
> System.out.println(" " + it2.nextNode().getName());
> }
> }
> In the trunk, the node 'b' is not listed after the refresh (not under the
> root page, and not under a). The output is:
> jcr:system
> jcr:versionStorage
> jcr:nodeTypes
> a
> Jackrabbit 1.4.x throws an exception:
> jcr:system
> jcr:versionStorage
> jcr:nodeTypes
> a
> Exception in thread "main" javax.jcr.RepositoryException: failed to resolve
> name of acee31c4-c33b-4ed4-b1b5-39db6f17fb09
> at
> org.apache.jackrabbit.core.HierarchyManagerImpl.getName(HierarchyManagerImpl.java:451)
> at
> org.apache.jackrabbit.core.CachingHierarchyManager.getName(CachingHierarchyManager.java:287)
> at org.apache.jackrabbit.core.NodeImpl.getName(NodeImpl.java:1931)
> at
> org.apache.jackrabbit.core.fuzz.TestMoveRemoveRefresh.test(TestMoveRemoveRefresh.java:33)
> at
> org.apache.jackrabbit.core.fuzz.TestMoveRemoveRefresh.main(TestMoveRemoveRefresh.java:15)
> void deleteDirectory(File file) {
> if (file.isDirectory()) {
> File[] list = file.listFiles();
> for(int i=0; i<list.length; i++) {
> deleteDirectory(list[i]);
> }
> }
> file.delete();
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.