[ https://issues.apache.org/jira/browse/JCR-1883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Mueller resolved JCR-1883. --------------------------------- Resolution: Fixed Assignee: Thomas Mueller Fixed in revision 725292. The unit tests succeed, but I'm not sure if we should backport this fix yet - it may have some unwanted side effects. > Moved node disappears > --------------------- > > Key: JCR-1883 > URL: https://issues.apache.org/jira/browse/JCR-1883 > Project: Jackrabbit > Issue Type: Bug > Components: jackrabbit-core > Reporter: Thomas Mueller > Assignee: Thomas Mueller > Priority: Minor > > 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.