[ https://issues.apache.org/jira/browse/JCR-1040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
angela resolved JCR-1040. ------------------------- Resolution: Fixed the problem was caused upon creating the effective node type for the new replacement node, which tried to load the jcr:mixinTypes from the persistent storage. consequently the jcr:uuid was retrieved with the effects mentioned above. fix: in case of a NEW node entry it does not make sense to (try to) load props/child nodes from the persistent storage. > JCR2SPI: remove node operation missing in submitted SPI batch > ------------------------------------------------------------- > > Key: JCR-1040 > URL: https://issues.apache.org/jira/browse/JCR-1040 > Project: Jackrabbit > Issue Type: Bug > Components: SPI > Reporter: Julian Reschke > Assignee: angela > > In JCR2SPI, the following sequence of operations seems to lead to an > incorrect SPI batch being submitted: > 1) remove "/a" > 2) add "/a" > 3) add "/a/b" > 4) session.save() > This seems to create an SPI batch where the first remove operation is missing. > Note that the problem only seems to occur when step 3 is part of the sequence. > Full Java source for test: > try { > if > (session.getRepository().getDescriptor(Repository.LEVEL_2_SUPPORTED).equals("true")) > { > Node testnode; > String name = "delete-test"; > > Node root = session.getRootNode(); > > // make sure it's there > if (! root.hasNode(name)) { > root.addNode(name, "nt:folder"); > session.save(); > } > > // now test remove/add in one batch > if (root.hasNode(name)) { > testnode = root.getNode(name); > testnode.remove(); > // session.save(); // un-commenting this makes the test pass > } > > testnode = root.addNode(name, "nt:folder"); > // add one child > testnode.addNode(name, "nt:folder"); // commenting this out makes the > test pass > > session.save(); > } > } finally { > session.logout(); > } > > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.