[ 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.